home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / virus / tbav700.zip / TBAV.DOC < prev    next >
Text File  |  1996-02-09  |  401KB  |  10,948 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                                    ThunderBYTE
  12.  
  13.                                Anti-Virus Utilities
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                                    USER MANUAL
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.     The ThunderBYTE Anti-Virus Utilities are a product of:
  61.  
  62.          ESaSS B.V.
  63.          P.O. Box 1380
  64.          6501 BJ  NIJMEGEN
  65.          The Netherlands
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.     COPYRIGHT (c) 1996 by:   ThunderBYTE B.V.,
  102.                              Wijchen, The Netherlands.
  103.  
  104.     All rights reserved. No part of this manual may be reproduced, stored in
  105.     a retrieval system, or transmitted in any form, by print, microfilm, or
  106.     by any other means without written permission from ThunderBYTE B.V.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page i
  115.  
  116.  
  117.  
  118.  
  119.  
  120.     Table of Contents
  121.  
  122.  
  123.  
  124.     Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  125.          A Word (or Two) of Thanks  . . . . . . . . . . . . . . . . . . .   1
  126.          What Are the TBAV Utilities? . . . . . . . . . . . . . . . . . .   1
  127.          The TBAV Utilities User Interface  . . . . . . . . . . . . . . .   5
  128.          Conventions Used in This Manual  . . . . . . . . . . . . . . . .   6
  129.          How To Use This Manual . . . . . . . . . . . . . . . . . . . . .   6
  130.  
  131.     1 TBAV QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . .   8
  132.          1.1 Installing the TBAV Utilities  . . . . . . . . . . . . . . .   8
  133.               1.1.1 Understanding System requirements . . . . . . . . . .   8
  134.               1.1.2 Running INSTALL . . . . . . . . . . . . . . . . . . .   8
  135.               1.1.3 Installation on a network . . . . . . . . . . . . .    11
  136.               1.1.4 Starting And Ending TBAV  . . . . . . . . . . . . .    11
  137.               1.1.5 Using TBAV Commands . . . . . . . . . . . . . . . .    14
  138.               1.1.6 Getting Help  . . . . . . . . . . . . . . . . . . .    15
  139.               1.1.7 Configuring TBAV  . . . . . . . . . . . . . . . . .    16
  140.          1.2 Understanding TbSetup  . . . . . . . . . . . . . . . . . .    18
  141.          1.3 Understanding TbDriver . . . . . . . . . . . . . . . . . .    19
  142.          1.4 Maintaining the System . . . . . . . . . . . . . . . . . .    20
  143.               1.4.1 Maintaining ANTI-VIR.DAT Files  . . . . . . . . . .    20
  144.               1.4.2 Creating a New Recovery Diskette  . . . . . . . . .    20
  145.               1.4.3 Getting Updates . . . . . . . . . . . . . . . . . .    20
  146.               1.4.4 Maintaining a Network . . . . . . . . . . . . . . .    21
  147.               1.4.5 Using the PKUNZIP Utility . . . . . . . . . . . . .    22
  148.  
  149.     2 Defining Your Anti-Virus Strategy . . . . . . . . . . . . . . . .    24
  150.          2.1 Protecting Yourself Against Virus Infection  . . . . . . .    24
  151.          2.2 Recovering from Virus Infection  . . . . . . . . . . . . .    29
  152.  
  153.     3 Using the TBAV utilities  . . . . . . . . . . . . . . . . . . . .    33
  154.          3.1 Using TbSetup  . . . . . . . . . . . . . . . . . . . . . .    33
  155.               3.1.1 Understanding TbSetup . . . . . . . . . . . . . . .    33
  156.               3.1.2 Working with the TbSetup Menu . . . . . . . . . . .    34
  157.               3.1.3 Maximizing TbSetup  . . . . . . . . . . . . . . . .    40
  158.               3.1.4 Understanding TbSetup's Operation . . . . . . . . .    44
  159.               3.1.5 Understanding TBSETUP.DAT Files . . . . . . . . . .    45
  160.          3.2 Using TbScan . . . . . . . . . . . . . . . . . . . . . . .    47
  161.               3.2.1 Understanding TbScan  . . . . . . . . . . . . . . .    47
  162.               3.2.2 Working with the TbScan Menus . . . . . . . . . . .    48
  163.               3.2.3 Maximizing TbScan . . . . . . . . . . . . . . . . .    62
  164.  
  165.  
  166.  
  167.  
  168.  
  169.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page ii
  170.  
  171.  
  172.  
  173.               3.2.4 Understanding the Scanning Process  . . . . . . . .    72
  174.               3.2.5 Understanding Heuristic Flags . . . . . . . . . . .    76
  175.          3.3 Using TbDriver . . . . . . . . . . . . . . . . . . . . . .    78
  176.               3.3.1 Understanding TbDriver  . . . . . . . . . . . . . .    78
  177.               3.3.2 Working with TbDriver . . . . . . . . . . . . . . .    78
  178.               3.3.3 Maximizing TbDriver . . . . . . . . . . . . . . . .    79
  179.          3.4 Using TbScanX  . . . . . . . . . . . . . . . . . . . . . .    84
  180.               3.4.1 Understanding TbScanX . . . . . . . . . . . . . . .    84
  181.               3.4.2 Working with TbScanX  . . . . . . . . . . . . . . .    84
  182.               3.4.3 Maximizing TbScanX  . . . . . . . . . . . . . . . .    86
  183.               3.4.4 Understanding the Scanning Process  . . . . . . . .    90
  184.          3.5 Using TbCheck  . . . . . . . . . . . . . . . . . . . . . .    92
  185.               3.5.1 Understanding TbCheck . . . . . . . . . . . . . . .    92
  186.               3.5.2 Working with TbCheck  . . . . . . . . . . . . . . .    92
  187.               3.5.3 Maximizing TbCheck  . . . . . . . . . . . . . . . .    94
  188.               3.5.4 Understanding the Scanning Process  . . . . . . . .    96
  189.               3.5.5 Testing TbCheck . . . . . . . . . . . . . . . . . .    96
  190.          3.6 Using TbClean  . . . . . . . . . . . . . . . . . . . . . .    98
  191.               3.6.1 Understanding TbClean . . . . . . . . . . . . . . .    98
  192.               3.6.2 Working with the TbClean Menus  . . . . . . . . . .    99
  193.               3.6.3 Using TbClean Command Line Options  . . . . . . . .   101
  194.               3.6.4 Understanding the Cleaning Process  . . . . . . . .   104
  195.               3.6.5 Understanding Cleaning Limitations  . . . . . . . .   106
  196.          3.7 Using TbMem  . . . . . . . . . . . . . . . . . . . . . . .   108
  197.               3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities  .   108
  198.               3.7.2 Loading TbMem, TbFile and TbDisk  . . . . . . . . .   108
  199.               3.7.3 Using Command Line Options  . . . . . . . . . . . .   110
  200.               3.7.4 Understanding TbMem . . . . . . . . . . . . . . . .   110
  201.               3.7.5 Working with TbMem  . . . . . . . . . . . . . . . .   111
  202.               3.7.6 Maximizing TbMem  . . . . . . . . . . . . . . . . .   112
  203.               3.7.7 Understanding TbMem's Operation . . . . . . . . . .   114
  204.          3.8 Using TbFile . . . . . . . . . . . . . . . . . . . . . . .   116
  205.               3.8.1 Understanding TbFile  . . . . . . . . . . . . . . .   116
  206.               3.8.2 Working with TbFile . . . . . . . . . . . . . . . .   117
  207.               3.8.3 Maximizing TbFile . . . . . . . . . . . . . . . . .   117
  208.          3.9 Using TbDisk . . . . . . . . . . . . . . . . . . . . . . .   120
  209.               3.9.1 Understanding TbDisk  . . . . . . . . . . . . . . .   120
  210.               3.9.2 Working with TbDisk . . . . . . . . . . . . . . . .   121
  211.               3.9.3 Maximizing TbDisk . . . . . . . . . . . . . . . . .   122
  212.               3.9.4 Understanding TbDisk's Operation  . . . . . . . . .   125
  213.          3.10 Using TbUtil  . . . . . . . . . . . . . . . . . . . . . .   126
  214.               3.10.1 Understanding and using TbUtil . . . . . . . . . .   126
  215.               3.10.2 Working with the TbUtil Menu . . . . . . . . . . .   127
  216.               3.10.3 Maximizing TbUtil  . . . . . . . . . . . . . . . .   131
  217.               3.10.4 Using the Anti-Virus Partition . . . . . . . . . .   137
  218.               3.10.5 Using the TbUtil diskette  . . . . . . . . . . . .   137
  219.  
  220.  
  221.  
  222.  
  223.  
  224.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page iii
  225.  
  226.  
  227.  
  228.          3.11 Using TbLog . . . . . . . . . . . . . . . . . . . . . . .   139
  229.               3.11.1 Understanding and using TbLog  . . . . . . . . . .   139
  230.               3.11.2 Working with TbLog . . . . . . . . . . . . . . . .   139
  231.               3.11.3 Maximizing TbLog . . . . . . . . . . . . . . . . .   141
  232.          3.12 Using TbNet . . . . . . . . . . . . . . . . . . . . . . .   143
  233.               3.12.1 Understanding TbNet  . . . . . . . . . . . . . . .   143
  234.               3.12.2 Working with TbNet . . . . . . . . . . . . . . . .   143
  235.               3.12.3 Maximizing TbNet . . . . . . . . . . . . . . . . .   144
  236.  
  237.     4 Understanding Advanced User Information . . . . . . . . . . . . .   147
  238.          4.1 Understanding Memory Considerations  . . . . . . . . . . .   147
  239.               4.1.1 Understanding Memory Requirements . . . . . . . . .   147
  240.               4.1.2 Reducing Memory Requirements  . . . . . . . . . . .   148
  241.          4.2 Understanding TbSetup  . . . . . . . . . . . . . . . . . .   150
  242.               4.2.1 Understanding ANTI-VIR.DAT File Design  . . . . . .   150
  243.               4.2.2 Editing the TBSETUP.DAT File  . . . . . . . . . . .   150
  244.               4.2.3 Simplifying Installation on Several Machines  . . .   152
  245.          4.3 Understanding TbScan . . . . . . . . . . . . . . . . . . .   153
  246.               4.3.1 Understanding Heuristic Scanning  . . . . . . . . .   153
  247.               4.3.2 Understanding How Heuristic Scanning Works  . . . .   155
  248.               4.3.3 Understanding Integrity Checking  . . . . . . . . .   156
  249.               4.3.4 Understanding the Scan Algorithms . . . . . . . . .   157
  250.               4.3.5 Understanding the TBSCAN.LNG File . . . . . . . . .   159
  251.               4.3.6 Understanding the TBAV.MSG File . . . . . . . . . .   160
  252.          4.4 Understanding TbClean  . . . . . . . . . . . . . . . . . .   161
  253.               4.4.1 Understanding how a Virus infects a file  . . . . .   161
  254.               4.4.2 Understanding Conventional Cleaners . . . . . . . .   161
  255.               4.4.3 Understanding Generic Cleaners  . . . . . . . . . .   163
  256.          4.5 Using TbGenSig . . . . . . . . . . . . . . . . . . . . . .   165
  257.               4.5.1 Understanding and using TbGenSig  . . . . . . . . .   165
  258.               4.5.2 Working with TbGenSig . . . . . . . . . . . . . . .   165
  259.               4.5.3 Defining a Signature with TbScan  . . . . . . . . .   166
  260.               4.5.4 Understanding Keywords  . . . . . . . . . . . . . .   168
  261.               4.5.5 Understanding a Sample Signature: Haifa.Mozkin  . .   173
  262.  
  263.     Appendices  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   175
  264.          Appendix A: TBAV messages  . . . . . . . . . . . . . . . . . .   175
  265.               A.1 TbClean . . . . . . . . . . . . . . . . . . . . . . .   175
  266.               A.2 TbDriver  . . . . . . . . . . . . . . . . . . . . . .   177
  267.               A.3 TbScan  . . . . . . . . . . . . . . . . . . . . . . .   178
  268.               A.4 TbScanX . . . . . . . . . . . . . . . . . . . . . . .   179
  269.          Appendix B: TbScan Heuristic Flag Descriptions . . . . . . . .   180
  270.          Appendix C: Solving Incompatibility Problems . . . . . . . . .   186
  271.          Appendix D: TBAV Exit Codes and Batch Files  . . . . . . . . .   189
  272.               D.1 TbScan Exit Codes . . . . . . . . . . . . . . . . . .   189
  273.               D.2 TbUtil Exit Codes . . . . . . . . . . . . . . . . . .   189
  274.  
  275.  
  276.  
  277.  
  278.  
  279.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page iv
  280.  
  281.  
  282.  
  283.               D.3  General Exit Codes . . . . . . . . . . . . . . . . .   189
  284.               D.4 Program Installation Check  . . . . . . . . . . . . .   189
  285.          Appendix E: Virus Detection and Naming . . . . . . . . . . . .   191
  286.               E.1 How Many Viruses Does TbScan Detect?  . . . . . . . .   191
  287.               E.2 The Virus Naming Convention . . . . . . . . . . . . .   191
  288.  
  289.     Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   i
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 1
  335.  
  336.  
  337.  
  338.     Introduction
  339.  
  340.     A Word (or Two) of Thanks
  341.  
  342.     Congratulations! By purchasing the ThunderBYTE Anti-Virus utilities you
  343.     have taken the basic step in building a massive anti-viral safety wall
  344.     around your precious computer system. Setting up the appropriate defense
  345.     using the TBAV utilities is a  personal matter.  Therefore, we recommend
  346.     to read this manual thoroughly, so you are well aware of the different
  347.     kinds of security measures you can take.
  348.  
  349.  
  350.     What Are the TBAV Utilities?
  351.  
  352.     ThunderBYTE Anti-Virus (TBAV) is a comprehensive tool kit designed to
  353.     protect against, and recover from, computer viruses. While TBAV focuses
  354.     heavily on numerous ways to prevent a virus infection, the package would
  355.     not be complete without various cleaner programs to purge a system, in
  356.     the unlikely event that a virus manages to slip through. The package,
  357.     therefore, consists of several programs, each of which helps you to
  358.     prevent viruses from accomplishing their destructive purposes. Here is a
  359.     quick overview.
  360.  
  361.          TbSetup: Collecting Software Information
  362.  
  363.          TbSetup is a program that collects information from all software it
  364.          finds on your system. It places this information in files named
  365.          ANTI-VIR.DAT and uses it for integrity checking, program validation,
  366.          and cleaning infected files.
  367.  
  368.          TbDriver: Enable Memory Resident TBAV Utilities
  369.  
  370.          While TbDriver provides little protection against viruses by itself,
  371.          you must load it in advance to enable the memory resident
  372.          ThunderBYTE Anti-Virus utilities to perform properly. These
  373.          utilities include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk.
  374.          TbDriver also provides basic protection against ANSI bombs and
  375.          stealth  viruses.
  376.  
  377.          TbScan: Scanning for Viruses
  378.  
  379.          TbScan is both a fast signature scanner and a so-called heuristic
  380.          scanner. Besides its blazing speed, it has many configuration
  381.          options. It can detect mutants of viruses, bypass stealth type
  382.          viruses, etc. The signature file TbScan uses is a coded TBSCAN.SIG
  383.          file, which you can update yourself in case of emergency.
  384.  
  385.  
  386.  
  387.  
  388.  
  389.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 2
  390.  
  391.  
  392.  
  393.          TbScan will disassemble files. This makes it possible to detect
  394.          suspicious instruction sequences and detect yet unknown viruses. As
  395.          pointed out earlier, this generic detection, named heuristic
  396.          analysis, is a technique that makes it possible to detect about 90%
  397.          of all viruses by searching for suspicious instruction sequences
  398.          rather than relying on any signature. For that purpose TbScan has a
  399.          built-in disassembler and code analyzer.
  400.  
  401.          Another feature of TbScan is the integrity checking it performs when
  402.          it finds the ANTI-VIR.DAT files generated by TbSetup. Integrity
  403.          checking  means that TbScan verifies that every file it scans
  404.          matches the information which was captured when the file was first
  405.          analyzed by TbSetup and is maintained in the ANTI-VIR.DAT files. If
  406.          a virus infects a file, the information in the ANTI-VIR.DAT file
  407.          will indicate that the file has been changed, and TbScan will inform
  408.          you of this. TbScan performs an integrity check automatically, and
  409.          it does not have the false alarm rate other integrity checkers have.
  410.          The goal is to detect viruses and NOT to detect configuration
  411.          changes!
  412.  
  413.          TbScanX: Automatic Scanning
  414.  
  415.          TbScanX is the memory resident version of TbScan. This signature
  416.          scanner remains resident in memory and automatically scans those
  417.          files that are being executed, copied, de-archived, downloaded, etc.
  418.          TbScanX does not require much memory. It can swap itself into
  419.          expanded, XMS, or high memory, using only one kilobyte of
  420.          conventional memory.
  421.  
  422.          TbCheck: Check While Loading
  423.  
  424.          TbCheck is a memory resident integrity checker that remains resident
  425.          in memory and automatically checks every file just before it
  426.          executes. TbCheck uses a fast integrity checking method, which
  427.          consumes only 400 bytes of memory. You can configure it to reject
  428.          files with incorrect checksums, and/or reject files that do not have
  429.          a corresponding ANTI-VIR.DAT record.
  430.  
  431.          TbUtil: Restoring Infected Boot-Sector, CMOS and Partition Tables
  432.  
  433.          Some viruses copy themselves into the hard disk's partition table,
  434.          which makes them far more difficult to remove than boot sector
  435.          viruses. Performing a low-level format is an effective, but rather
  436.          drastic measure.
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 3
  445.  
  446.  
  447.  
  448.          TbUtil offers a more convenient alternative by making a
  449.          precautionary backup of uninfected partition tables and the boot
  450.          sector. If an infection occurs, you can use the TbUtil backup as a
  451.          verifying tool and as a means to restore the original (uninfected)
  452.          partition table and boot sector, without the need for a destructive
  453.          disk format. TbUtil can also restore the CMOS configuration for you.
  454.          If a backup of your partition table is not available, TbUtil tries
  455.          to create a new partition table anyway, again avoiding the need for
  456.          a low-level format.
  457.  
  458.          Another important feature of TbUtil is the option to replace the
  459.          partition table code with new code offering greater resistance to
  460.          viruses. TbUtil executes the partition code BEFORE the boot sector
  461.          gains control, enabling it to check this sector in a clean
  462.          environment. The TbUtil partition code performs a CRC calculation on
  463.          the master boot sector just before the boot sector code activates
  464.          and issues a warning if the boot sector has been modified. The
  465.          TbUtil partition code also checks and reports changes in the RAM
  466.          layout. It performs these checks whenever the computer boots from
  467.          the hard disk.
  468.  
  469.          We should point out that boot sector verification is imperative
  470.          before allowing the boot sector code to execute. A virus could
  471.          easily become resident in memory during boot-up and hide its
  472.          presence. TbUtil offers total security at this stage by being active
  473.          before the boot sector executes.  TbUtil is far more convenient than
  474.          the traditional strategy of booting from a clean DOS diskette for an
  475.          undisturbed inspection of the boot sector.
  476.  
  477.          TbClean: Reconstructing Infected Files
  478.  
  479.          TbClean is a generic file cleaning utility. It uses the ANTI-VIR.DAT
  480.          files generated by TbSetup to enhance file cleaning and/or to verify
  481.          the results. TbClean can also work without these files. It
  482.          disassembles and emulates the infected file and uses this analysis
  483.          to reconstruct the original file.
  484.  
  485.          TbMem, TbFile and TbDisk: Resident Safeguards
  486.  
  487.          The TBAV utilities include a set of memory resident anti-virus
  488.          utilities, consisting of  TbMem, TbFile and TbDisk. Most other
  489.          resident anti-virus products offer you the choice to either invoke
  490.          them before the network loads (thereby losing the protection after
  491.          the logon procedure), or to load the anti-viral software after
  492.          logging onto the network, resulting in a partially unprotected
  493.          system. The TBAV utilities, on the other hand, recognize the network
  494.  
  495.  
  496.  
  497.  
  498.  
  499.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 4
  500.  
  501.  
  502.  
  503.          software and utilize their auto-configuration capabilities to ensure
  504.          their continued functionality.
  505.  
  506.          TbMem: Safeguarding Memory
  507.  
  508.          TbMem detects attempts from programs to remain resident in memory
  509.          and ensures that no program can remain resident in memory without
  510.          permission. Since most viruses remain resident in memory, this is a
  511.          powerful weapon against all such viruses, known or unknown. TbMem
  512.          also protects your CMOS memory against unwanted modifications. The
  513.          ANTI-VIR.DAT files maintain a database of the permission
  514.          information.
  515.  
  516.          TbFile: Executable File Protection
  517.  
  518.          TbFile detects attempts from programs to infect other programs. It
  519.          also guards read-only attributes, detects illegal time-stamps, etc.
  520.          It ensures that no virus succeeds in infecting programs.
  521.  
  522.          TbDisk: Protecting The Disk
  523.  
  524.          TbDisk is a disk guard program that detects attempts from programs
  525.          to write directly to disk (that is, without using DOS), attempts to
  526.          format, etc., and makes sure that no malicious program succeeds in
  527.          destroying your data. This utility also traps tunneling and direct
  528.          calls into the BIOS code. The ANTI-VIR.DAT files maintain permission
  529.          information about those rare programs that write directly to and/or
  530.          format the disk.
  531.  
  532.          TbGenSig: Define Your Own Signatures
  533.  
  534.          Since TBAV includes an up-to-date, ready-to-use signature file, you
  535.          do not really need to maintain a signature file yourself. If,
  536.          however during a crisis, you need to define your own virus
  537.          signatures, then the TbGenSig utility enables you to do this. You
  538.          can use either published signatures or define your own if you are
  539.          familiar with the structure of computer code.
  540.  
  541.  
  542.          TbDel: Remove Infected Files
  543.  
  544.          The DOS DEL or ERASE command does not actually erase a file. It
  545.          simply deletes the first filename character in the directory listing
  546.          and frees up the space by changing the disk's internal location
  547.          tables (File Allocation Tables). TbDel is a small program with a
  548.          single, yet all-important purpose: it overwrites every single byte
  549.  
  550.  
  551.  
  552.  
  553.  
  554.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 5
  555.  
  556.  
  557.  
  558.          in a file with the zero character (0) before deleting it, thereby
  559.          obliterating all the data and making it totally unrecoverable.
  560.  
  561.          TbMon: Installed Device Checker
  562.  
  563.          To check for the presence of the resident TBAV utilities (TbScanX,
  564.          TbCheck, TbMem, TbFile, TbDisk or TbLog) in batch files or login
  565.          scripts, you can use the TbMon utility. TbMon returns a DOS error
  566.          level, depending on the installed ThunderBYTE resident programs.
  567.  
  568.          The following list specifies the ThunderBYTE resident utilities and
  569.          their respective error levels:
  570.  
  571.                             +------------+-----------+
  572.                             |Utility Name|Error level|
  573.                             +------------+-----------+
  574.                             | TbScanX    |      1    |
  575.                             | TbCheck    |      2    |
  576.                             | TbMem      |      4    |
  577.                             | TbFile     |      8    |
  578.                             | TbDisk     |     16    |
  579.                             | TbLog      |     32    |
  580.                             +------------+-----------+
  581.  
  582.          The error level returned by TbMon is the cumulative sum of the error
  583.          levels of the installed devices. For example, if you have TbScanX
  584.          and TbMem installed, TbMon will return error level 5 (1+ 4 = 5).
  585.          Another example: if you have all utilities loaded, TbMon will return
  586.          error level 63 (1+2+4+8+16+32=63). If none of the resident
  587.          ThunderBYTE utilities are installed, TbMon will return error level 0
  588.          (zero).
  589.  
  590.  
  591.     The TBAV Utilities User Interface
  592.  
  593.     The DOS version of TBAV utilizes a menu-driven interface that enables you
  594.     to execute the utilities easily. You can also execute many of the
  595.     utilities directly from the DOS prompt. One advantage to this is that you
  596.     can use the utilities in batch files.
  597.  
  598.     The Microsoft Windows version of TBAV utilizes the standard Windows
  599.     interface, providing you a way to protect yourself from viruses while
  600.     still working in the user-friendly Windows environment. TBAV-for-Windows
  601.     is not described in this document. Please refer to the TBAV-for-Windows
  602.     documentation for more information.
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 6
  610.  
  611.  
  612.  
  613.  
  614.     Conventions Used in This Manual
  615.  
  616.     This manual uses several special conventions:
  617.  
  618.          References to the keyboard are as they appear on the 101-key
  619.          enhanced keyboard. File names, DOS commands, emphasized words, and
  620.          information that you are to type appears in UPPERCASE letters. The
  621.          context should clearly dictate which of these is true in each case.
  622.  
  623.          References to individual TBAV utilities use a combination of
  624.          uppercase and lowercase letters. For example, while TBSCAN.SIG
  625.          refers to a signature file, TbScan refers to the utility itself.
  626.  
  627.  
  628.     How To Use This Manual
  629.  
  630.     This manual consists of six chapters.
  631.  
  632.          Chapter 1 provides you with the fastest way to get started with the
  633.          TBAV utilities. It presents the major features of the program in a
  634.          step-by- step format. We recommend that you start with this chapter.
  635.  
  636.          Chapter 2 contains instruction on how to prevent viruses from
  637.          infecting your computer system and directions on how to handle
  638.          viruses when they do strike. We recommend that you also read this
  639.          chapter because it contains several useful tips.
  640.  
  641.          Chapter 3 contains a detailed description of both the purpose and
  642.          functionality of all the TBAV for DOS utilities.
  643.  
  644.          Chapter 4 contains  advanced user information  for those users who
  645.          are more technically oriented.
  646.  
  647.     This manual also contains five appendices. Appendix A describes TBAV
  648.     messages, Appendix B describes heuristic flags, Appendix C addresses some
  649.     incompatibility problems, Appendix D lists various exit codes for use in
  650.     batch files, and Appendix E contains information on naming viruses.
  651.     Finally, the Index provides you with the means of quickly finding any
  652.     major topic.
  653.  
  654.     NOTE:
  655.          A complete reading of this manual is indispensable in order to
  656.          become familiar with the many facets of the ThunderBYTE AntiVirus
  657.          utilities; to know what steps you can, and must, take to ensure
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 7
  665.  
  666.  
  667.  
  668.          adequate protection and be fully prepared for a complete recovery,
  669.          if and when disaster strikes.
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 8
  720.  
  721.  
  722.  
  723.  
  724.     1 TBAV QuickStart
  725.  
  726.     One of the problems with software manuals is they sometimes beat around
  727.     the bush  and don't get to the point, namely, how to use the software
  728.     right now. This chapter presents the major features of TBAV and will get
  729.     you up and running in the minimum amount of time.
  730.  
  731.  
  732.     1.1 Installing the TBAV Utilities
  733.  
  734.     This section provides the initial installation instructions  of the TBAV
  735.     utilities for DOS.  See the TBAV for Windows documentation for installing
  736.     TBAV for Windows or the TBAV for Networks documentation for installing
  737.     TBAV for Networks.
  738.  
  739.  
  740.     1.1.1 Understanding System requirements
  741.  
  742.     The ThunderBYTE Anti-Virus utilities will run on any IBM or compatible PC
  743.     that meets the following requirements:
  744.  
  745.          At least 1 megabyte of disk space
  746.          256 kilobytes of free internal memory
  747.  
  748.          DOS version 3.0 (DOS 5.0 or later recommended)
  749.  
  750.          A mouse is optional
  751.  
  752.     NOTE:
  753.          The TBAV utilities are compatible with networks, MS-Windows,
  754.          Novell-DOS, etc.
  755.  
  756.  
  757.     1.1.2 Running INSTALL
  758.  
  759.     You can install the TBAV utilities either by using the following instal-
  760.     lation procedure or by a fully customized procedure that you ll find in
  761.     Chapter 2. To use the fast approach, follow these steps:
  762.  
  763.          1. Insert the TBAV installation diskette in the diskette drive, type
  764.          A: or B:, and press the ENTER key.
  765.  
  766.          2. Type INSTALL and press ENTER. After a  few seconds, the following
  767.          window appears:
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page 9
  775.  
  776.  
  777.  
  778.              +-------------------------+
  779.              | Quit Installation       |
  780.              | View TBAV.DOC file    > |
  781.              | License TBAV          > |
  782.              | Upgrade TBAV          > |
  783.              | Custom Installation   > |
  784.              | Express Installation  > |
  785.              +-------------------------+
  786.  
  787.          3. Since this is your first time to install the TBAV package you
  788.          choose the first option, which is already highlighted, so just press
  789.          ENTER. Notice also that you can always select a menu option by
  790.          pressing its first letter. Install now displays the Licensing
  791.          Agreement.
  792.  
  793.          4. Press the cursor movement keys (up and down arrows and Page Up
  794.          and Page Down) to view the Agreement. When you finish reading the
  795.          agreement, press ESC. Install now asks you to acknowledge the
  796.          Agreement.
  797.  
  798.     NOTE:
  799.          You can exit Install at anytime by pressing the ESC key until you
  800.          get to the Main Menu or even to the DOS prompt.
  801.  
  802.          5. Select the  Your Name  field, type in your name, and press ENTER.
  803.  
  804.          6. Select the company field and repeat the procedure to enter your
  805.          company name.
  806.  
  807.          7. Press I to select the Terms field, type in YES to accept the
  808.          agreement, and press ENTER. The Install Menu now appears.
  809.  
  810.          8. While you will probably accept the defaults, if you need to
  811.          change the source path (the path where the installation program
  812.          itself resides, usually drive A:) or the default Destination path
  813.          (where Install places the TBAV program files, usually C:\TBAV),
  814.          select the field, make your changes, and press ENTER.
  815.  
  816.          9. Press B (or highlight Begin Installation and press ENTER) to
  817.          begin the installation. Install now scans your system to ensure that
  818.          it is  clean  (that is, no files are infected by a virus) and
  819.          informs you when it is done.
  820.  
  821.          10. Press any key to continue. Install now copies the TBAV files to
  822.          the  destination directory and makes a backup of your  AUTOEXEC.BAT
  823.          file before making a few modifications to it. The installation
  824.  
  825.  
  826.  
  827.  
  828.  
  829.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 10
  830.  
  831.  
  832.  
  833.          program adds the TBAV directory to your PATH and adds a statement
  834.          that will automatically run the TBSTART.BAT file.
  835.  
  836.     NOTE:
  837.          The TBSTART.BAT file, which resides in the TBAV directory, contains
  838.          the following commands:
  839.  
  840.                  C:\TBAV\TBDRIVER
  841.                  C:\TBAV\TBSCANX
  842.                  C:\TBAV\TBCHECK
  843.                  C:\TBAV\TBMEM
  844.                  C:\TBAV\TBFILE
  845.                  C:\TBAV\TBSCAN  ONCE  ALLDRIVES
  846.  
  847.          You can configure these commands to suit your own personal needs.
  848.  
  849.     Notice:
  850.          Install now displays a message that Recommends that you create a
  851.          Recovery Diskette, which you can use in the future, for example, to
  852.          restore your destroyed CMOS data, or restore your hard disk's
  853.          partition table after it has been tampered with.
  854.  
  855.          11. Press any key to continue to the Final Menu.  To create a
  856.          Recovery Diskette, press M, insert a clean formatted diskette into
  857.          Drive A, and press any key to continue. TBAV now copies the system
  858.          files to the diskette. See the  Prepare a Recovery Diskette  section
  859.          in Chapter 2 for more information. If you do not want to create a
  860.          Recovery Diskette, press Q to Quit Install.
  861.  
  862.          12. When TBAV finishes, press any key to continue. TBAV invokes
  863.          TbSetup to generate an ANTI-VIR.DAT file for drive A and returns you
  864.          to the Final Menu.
  865.  
  866.          13. Press Q to Quit Install. Install now invokes TbSetup again to
  867.          generate the ANTI-VIR.DAT reference files for your hard disk and
  868.          then returns you to the DOS prompt.
  869.  
  870.     CAUTION:
  871.          It is extremely likely that some of the TBAV utilities are going to
  872.          display messages if you now reboot and continue using the computer
  873.          as you normally would. This is because some programs perform
  874.          operations that the TBAV utilities monitor. TBAV, therefore, needs
  875.          to  learn which programs need proper permission. Before rebooting,
  876.          execute some of the programs you use regularly and respond
  877.          appropriately when TBAV requests permission to     authorize or deny
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 11
  885.  
  886.  
  887.  
  888.          their use.  TBAV remembers the settings and will not bother you
  889.          again. Reboot the computer at the end of this test run.
  890.  
  891.          14. After running some of the programs you use regularly (see
  892.          Caution box above), reboot your system.
  893.  
  894.     The TBAV utilities are now ready to monitor your system and will issue a
  895.     warning if something suspicious (or worse!) is about to happen. The TBAV
  896.     utilities also warn you if any new file contains a possible virus, well
  897.     before it can do any harm.
  898.  
  899.  
  900.     1.1.3 Installation on a network
  901.  
  902.     If a workstation does not have a hard disk, you can invoke the TBAV
  903.     utilities from a login script. You create a TbStart.Bat file containing
  904.     the following:
  905.  
  906.                @echo off
  907.                x:\apps\tbav\tbdriver.exe
  908.                x:\apps\tbav\tbscanx.exe
  909.                x:\apps\tbav\tbcheck.exe
  910.                x:\apps\tbav\tbfile.exe
  911.                x:\apps\tbav\tbmem.exe
  912.                x:\apps\tbav\tbscan.exe alldrives
  913.                exit
  914.  
  915.     In the login script add the following line:
  916.  
  917.                #x:command.com /c /x:\apps\tbav\tbstart.bat
  918.  
  919.     NOTE:
  920.          You need to enter the correct drive ID for 'X:'!
  921.  
  922.  
  923.     1.1.4 Starting And Ending TBAV
  924.  
  925.     You can run TBAV in two ways: run the menu interface or run individual
  926.     utilities from the DOS prompt.
  927.  
  928.  
  929.     Starting TBAV With the Menu Interface
  930.  
  931.     You can access most of the TBAV utilities from within the TBAV menu. To
  932.     start TBAV with the menu, follow these steps:
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 12
  940.  
  941.  
  942.  
  943.          1. At the DOS prompt, type CD \TBAV and press ENTER. This places you
  944.          in the TBAV directory.
  945.  
  946.     NOTE:
  947.          This first step is actually optional since the TBAV directory was
  948.          added to the PATH during installation. You would need this step,
  949.          however, if you ever decided to remove that directory from the PATH.
  950.  
  951.          2. Type TBAV and press ENTER. This starts TBAV and displays the menu
  952.          interface.
  953.  
  954.          3. A common task is to scan your hard disk for viruses. To do this,
  955.          press S on the "Main Menu" to select the TbScan command. Press S
  956.          again to select the "Start Scanning" command on the  TbScan Menu.
  957.          Press D on the "Path Menu" and press ENTER.
  958.  
  959.          4. If TbScan finds a virus, it presents an action menu. "D)elete"
  960.          deletes the infected file. "K)ill" also deletes the infected file,
  961.          but in such a way that it can't be undeleted by an undelete utility
  962.          (such as DOS's UNDELETE command). "R)ename" renames an EXE extension
  963.          to VXE and a COM extension to VOM, preventing the execution of
  964.          infected programs and thereby precluding the spread of an infection,
  965.          and also enabling you to keep the file for later examination and
  966.          repair. "C)ontinue scanning" continues the scan without taking
  967.          action on the virus. "N)onstop continue" instructs TbScan not to
  968.          stop when it detects a virus.
  969.  
  970.     NOTE:
  971.          If you use C or N, we recommend that you select L on the "TbScan
  972.          Menu" and then O on the "TbScan Log Menu" so that TbScan will log
  973.          detected viruses. To view this log, select V from the "TbScan Menu."
  974.  
  975.  
  976.          5. Another common task is to scan a diskette. To scan a diskette in
  977.          drive A, press A, or to scan a diskette in drive B, press B.
  978.  
  979.          6. You can use one of three methods to end TBAV:
  980.  
  981.              Press X to exit and save any configuration settings
  982.              you have set
  983.              Press Q to exit without saving any configuration
  984.              settings
  985.  
  986.              Press ESC, which is the same as pressing Q
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 13
  995.  
  996.  
  997.  
  998.     Starting TBAV Utilities from the DOS Prompt
  999.  
  1000.     You can also start each of the individual TBAV utilities directly from
  1001.     the DOS prompt by typing the command name followed by one or more options
  1002.     (or switches) to control special features. You can use either the full
  1003.     name of the option or its one- or two-letter mnemonic to shorten the
  1004.     command line.
  1005.  
  1006.     For example, if you want to use TbScan to scan for viruses on your hard
  1007.     disk, you could execute either one of the following commands:
  1008.  
  1009.                  TBSCAN ALLDRIVES
  1010.                  TBSCAN AD
  1011.  
  1012.     The advantage of being able to execute individual utilities is that you
  1013.     can use the utilities in batch files to create your own custom routines.
  1014.     A simple example of this is putting TbScan in your AUTOEXEC.BAT file so
  1015.     that it will scan for viruses when you boot up. To accomplish this, do
  1016.     the following:
  1017.  
  1018.          1. If you are using DOS 5 or later, type CD\ and press ENTER to go
  1019.          to the root directory. Now type EDIT AUTOEXEC.BAT and press ENTER to
  1020.          load this file into the MS-DOS text editor Edit.
  1021.  
  1022.     NOTE:
  1023.          If you are using a version of DOS prior to version 5.0, consult your
  1024.          DOS manual on how to edit AUTOEXEC.BAT. You might have your own text
  1025.          editor that you can use, or you could even use a word processor to
  1026.          edit the file and then save it as an ASCII text file. Consult your
  1027.          word processor's documentation for instructions.
  1028.  
  1029.          2. Add the following line to the beginning of the file, making sure
  1030.          you separate the options from the command and from each other using
  1031.          a space:
  1032.  
  1033.                  C:\TBAV\TBSCAN AllDrives Once
  1034.  
  1035.          3. Press ALT, F, S to save the file again, and then press ALT, F, X
  1036.          to exit the editor (that is, if you are using the MS-DOS text editor
  1037.          EDIT; otherwise, use the commands of your favourite editor to save
  1038.          the file, and to exit the editor).
  1039.  
  1040.          4. Reboot your computer so the changes will take effect.
  1041.  
  1042.     CAUTION:
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 14
  1050.  
  1051.  
  1052.  
  1053.          This line already exists in the TBSTART.BAT file, which runs
  1054.          automatically from AUTOEXEC.BAT. If you don't want to load all the
  1055.          TSR utilities that TBSTART.BAT loads, you could replace TBSTART.BAT
  1056.          with the above TBSCAN command. While this is still good protection,
  1057.          be aware that it doesn't fully protect your system. Refer to the
  1058.          Configuring TBAV  section later in this chapter for more information
  1059.          on configuring TBAV.
  1060.  
  1061.          Now the first time you boot your computer on a given day, TbScan
  1062.          will check for viruses on all fixed drives. Because of the OO
  1063.          option, however, if you boot again, you'll receive the  Option  once
  1064.          already used today  message, meaning that since TbScan has already
  1065.          run once that day, it will not run again.
  1066.  
  1067.     Another useful TBAV utility, not just for deleting infected files but any
  1068.     files you want destroyed, is TbDel. This utility overwrites every byte of
  1069.     a file with a nul character, thereby completely obliterating the file.
  1070.     If, for security reasons, you have files you want to destroy and prevent
  1071.     someone from undeleting using a file recovery program, enter the
  1072.     following command:
  1073.  
  1074.                  TBDEL [filename]
  1075.  
  1076.     WARNING:
  1077.          Be absolutely sure you want to destroy a file before using TbDel.
  1078.          Once you execute the command, the file is gone forever, and no file
  1079.          recovery utility can bring it back.
  1080.  
  1081.  
  1082.     1.1.5 Using TBAV Commands
  1083.  
  1084.     There are many commands in The TBAV Utilities, but most of them are
  1085.     available from the menu. You can select commands using either the
  1086.     keyboard or the mouse. To select a command, do one of the following:
  1087.  
  1088.          Highlight an option using the arrow keys and press Enter
  1089.  
  1090.          Press the highlighted letter of a command
  1091.  
  1092.          Move the mouse pointer to a command and click the left button
  1093.  
  1094.     As mentioned earlier, you can use all TBAV commands directly from the DOS
  1095.     prompt. You must separate the command from the first option and options
  1096.     from each other using a space. You can use the standard slash (/)
  1097.     character or hyphen (-) before an option, but it is not necessary.
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 15
  1105.  
  1106.  
  1107.  
  1108.     The standard command line syntax for all ThunderBYTE Anti-Virus commands
  1109.     is:
  1110.  
  1111.             COMMAND [<path>][<filename>]   [<option>]   [<option>]
  1112.  
  1113.     where <path> and <filename> is where you want the command to execute and
  1114.     <option> is the specific option you want to use. For example, the
  1115.     following command executes a virus scan on all executable files in the
  1116.     root directory of drive C: and all subdirectories and skips the boot
  1117.     sector scan:
  1118.  
  1119.                  TBSCAN  C:\  NOBOOT
  1120.  
  1121.  
  1122.  
  1123.     1.1.6 Getting Help
  1124.  
  1125.     TBAV enables you to get help at any time, whether you are working from
  1126.     the menu or the DOS prompt.
  1127.  
  1128.     Getting Help From the Menu
  1129.  
  1130.     To get help at anytime while working from the TBAV menu, follow these
  1131.     steps:
  1132.  
  1133.          1. From the Main Menu, select Documentation.
  1134.  
  1135.          2. From the Documentation menu, select TBAV User Manual.
  1136.  
  1137.          3. Use the up and down arrow keys and Page Up and Page Down to move
  1138.          through the manual.
  1139.  
  1140.          4. Press ESC to exit the manual.
  1141.  
  1142.     TIP:
  1143.          Instead of using the internal file viewer to view the User Manual,
  1144.          you can substitute your own favorite viewer. See the  Configuring
  1145.          TBAV section later in this chapter for details.
  1146.  
  1147.     Getting Help at the DOS Prompt
  1148.  
  1149.     To get help about proper syntax when working with individual TBAV
  1150.     utilities, do one of the following:
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 16
  1160.  
  1161.  
  1162.  
  1163.          Type the name of the command followed by a question mark (?), TBSCAN
  1164.          ?, for example. Some commands (TbClean, TbDel, and TbUtil) display
  1165.          the Help screen if you type the command name only.
  1166.  
  1167.          Each command also displays the help screen if you issue the command
  1168.          with an invalid option.
  1169.  
  1170.  
  1171.     1.1.7 Configuring TBAV
  1172.  
  1173.     The choices you made when installing the TBAV utilities might need a
  1174.     little fine tuning. You might want to edit AUTOEXEC.BAT, as mentioned
  1175.     earlier, for example, or you might want to edit TBSTART.BAT file, which
  1176.     AUTOEXEC.BAT executes.
  1177.  
  1178.     Additionally, you might want to change how TBAV operates within the menu
  1179.     interface. This section explains how you can configure the TBAV utilities
  1180.     and use them the way you prefer. The following sections explain how to
  1181.     customize TBAV.
  1182.  
  1183.     NOTE:
  1184.          After making certain changes and then initializing and rebooting
  1185.          your system, TBAV needs to be "trained" as it encounters new TSR's.
  1186.  
  1187.     NOTE:
  1188.          Options that have a check mark beside them indicate that they are
  1189.          selected. Options may be toggled by selecting: the highlighted
  1190.          letter, clicking on them with your mouse or moving the highlight bar
  1191.          with your cursor keys and then pressing Enter.
  1192.  
  1193.              +-----Main menu-----+
  1194.              | Confi+----------TBAV configuration---------+
  1195.              | TbSca|v Use colors                         |
  1196.              | TbSet|  Save configuration to TBAV.INI     |
  1197.              | TbUti|  File view utility                  |
  1198.              | TbCLe|v Wait after program execution       |
  1199.              | Virus|  Show command line before executing |
  1200.              | TBAV |v Edit path string before scanning   |
  1201.              | Docum+-------------------------------------+
  1202.              | Register TBAV     |
  1203.              | About             |
  1204.              | Quit and save     |
  1205.              | eXit (no save)    |
  1206.              +-------------------+
  1207.  
  1208.     The  "Use Colors"  Option
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 17
  1215.  
  1216.  
  1217.  
  1218.     If you disable this option, that is, select it so the check mark
  1219.     disappears, TBAV appears in monochrome mode, which is convenient for use
  1220.     on laptop and notebook computers. When you select the Configure TBAV
  1221.     option from the Main Menu, the Configuration menu appears:
  1222.  
  1223.  
  1224.     The "Save Configuration to TBAV.INI" Option
  1225.  
  1226.     When you select this option, TBAV saves all configuration values set
  1227.     within the TBAV menu in the TBAV.INI file. The next time you load the
  1228.     TBAV utilities, these configuration values take effect. These values
  1229.     apply to the TBAV menu itself and the utilities TbSetup, TbScan and
  1230.     TbClean.
  1231.  
  1232.     Although you can edit the TBAV.INI file manually, we recommend that you
  1233.     allow the TBAV menu to do it. By default, the contents of the TBAV.INI
  1234.     file are valid only while using the TBAV menu shell. You can, however,
  1235.     enable the  Use TBAV.INI file  options (or specify the USEINI switches in
  1236.     the TBAV.INI file itself) for each of the TBAV utilities.
  1237.     For example, to use the settings in TBAV.INI with TbScan, you would
  1238.     follow these steps:
  1239.  
  1240.          1. Select TbScan from the Main Menu. This displays the TbScan Menu.
  1241.  
  1242.          2. From this menu, select the Options Menu option.
  1243.  
  1244.          3. From this menu, select the Use TBAV.INI option and notice that a
  1245.          check mark appears beside it.
  1246.  
  1247.          After selecting this option, TbScan also uses the TBAV.INI when you
  1248.          run TbScan from the DOS prompt. The same is true if you select this
  1249.          option for TbSetup and TbClean.
  1250.  
  1251.     CAUTION:
  1252.          Be careful, since command line options do NOT undo TBAV.INI
  1253.          settings. TBAV creates a TBAV.INI file when enabling this option for
  1254.          the first time. This file lists all valid configuration switches.
  1255.          Additionally, a semicolon precedes disabled switches.
  1256.  
  1257.  
  1258.     The "File View Utility" Option
  1259.  
  1260.     TbSetup and TbScan generate a data file and a log file respectively. By
  1261.     default, you can view these files, as well as the TBAV documentation
  1262.     mentioned earlier, from the TBAV menu using TBAV's internal file view
  1263.     utility.
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 18
  1270.  
  1271.  
  1272.  
  1273.     If you prefer, however, you can specify your own file viewing utility. To
  1274.     do this, follow these steps:
  1275.  
  1276.          1. Press F to select the File View Utility option.
  1277.  
  1278.          2. Type in the complete path and the file name, including the
  1279.          extension, of the utility you want to use (e.g.,
  1280.          C:\DIRNAME\VIEWER.EXE), and press ENTER.
  1281.  
  1282.  
  1283.     The "Wait After Program Execution" Option
  1284.  
  1285.     If you enable this option, TBAV displays the message "Press any key to
  1286.     return to the TBAV menu..." after executing an external utility.
  1287.  
  1288.  
  1289.     The "Show Command Line Before Executing" Option
  1290.  
  1291.     Enabling this option forces TBAV to display the DOS command that loads
  1292.     the external file viewing utility. This option comes in handy for
  1293.     enabling you to see the command(s) you specified before. After pressing
  1294.     ENTER, TBAV then executes the DOS commands.
  1295.  
  1296.  
  1297.     The "Edit Path String Before Scanning" Option
  1298.  
  1299.     If you enable this option, TBAV prompts you to edit or confirm the path
  1300.     to scan after you select Start Scanning from a scan menu.
  1301.  
  1302.  
  1303.     1.2 Understanding TbSetup
  1304.  
  1305.     By way of analogy, if you think of TbScan as being the heart of TBAV, you
  1306.     can think of TbSetup as being the skeleton. TbSetup collects information
  1307.     from all software it finds on your system and places this information in
  1308.     files, one in each directory, named ANTI-VIR.DAT and uses this informati-
  1309.     on for integrity checking, program validation, and cleaning infected
  1310.     files.
  1311.  
  1312.     WARNING:
  1313.          NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
  1314.          of a virus on your system.
  1315.  
  1316.     Since TbSetup was run during the installation program, it is not really
  1317.     necessary for you to run it again. In fact, the less you run it the
  1318.     better. The only time you should run TbSetup again is in directories with
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 19
  1325.  
  1326.  
  1327.  
  1328.     new or changed program files. Assume you just added a new program to your
  1329.     system, which installed into a new directory called NEWPRO. To run
  1330.     TbSetup on that new directory, you could execute one of the following
  1331.     procedures:
  1332.  
  1333.          From the TBAV Main Menu, select TbSetup, select Start TbSetup from
  1334.          the TbSetup Menu, type in C:\NEWPRO as the path to process, and then
  1335.          press ENTER.
  1336.  
  1337.          From the DOS prompt, enter TBSETUP C:\NEWPRO and press ENTER.
  1338.  
  1339.     See the "Using TbSetup" section in Chapter 3 for more information about
  1340.     using TbSetup.
  1341.  
  1342.     WARNING:
  1343.          NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
  1344.          of a virus on your system.
  1345.  
  1346.  
  1347.     1.3 Understanding TbDriver
  1348.  
  1349.     TbDriver is a small memory resident (TSR) program that you must load
  1350.     before loading any of the other five TBAV memory resident programs, which
  1351.     include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk. Chapter 3 fully
  1352.     explains all of these programs, but to conclude our earlier analogy, if
  1353.     TbScan is the heart of TBAV, and TbSetup is the skeleton, then TbDriver
  1354.     and the other TSRs are the muscles. They simply wait in memory until
  1355.     called into action. When they detect suspicious code or other
  1356.     irregularities, they immediately inform you and take appropriate action.
  1357.  
  1358.     TBAV Install places a call to TBSTART.BAT in your AUTOEXEC.BAT file so
  1359.     that all of these TSRs, except TbDisk, load automatically when you boot.
  1360.     For maximum security, we recommend that you allow these utilities to load
  1361.     and remain in memory.
  1362.  
  1363.     TIP:
  1364.          If you prefer, you can put the memory resident utilities listed in
  1365.          TBSTART.BAT in your CONFIG.SYS file. Remove the call to TBSTART.BAT
  1366.          from AUTOEXEC.BAT, and then use a DEVICE= command in CONFIG.SYS for
  1367.          each utility. Don't forget to use the full path and to specify the
  1368.          .EXE extension. If you are using DOS 5 or higher, you can load these
  1369.          utilities into upper memory using the
  1370.          LOADHIGH command in either TBSTART.BAT or CONFIG.SYS.
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 20
  1380.  
  1381.  
  1382.  
  1383.     1.4 Maintaining the System
  1384.  
  1385.     All systems need maintenance, and the TBAV utilities are no different.
  1386.     This section, therefore, describes how to maintain the TBAV utilities.
  1387.  
  1388.  
  1389.     1.4.1 Maintaining ANTI-VIR.DAT Files
  1390.  
  1391.     Whenever you add, update or replace programs on your system, be sure to
  1392.     use TbSetup to generate or update their fingerprints in the ANTI-VIR.DAT
  1393.     files. See the Using TbSetup section earlier in this chapter and the
  1394.     Using TbSetup section in Chapter 3 for more information.
  1395.  
  1396.     1.4.2 Creating a New Recovery Diskette
  1397.  
  1398.     There will be times when you will want to create a new recovery diskette.
  1399.     This will be necessary, for example, when you install a new version of
  1400.     DOS because this changes the boot sector. You should also do this if you
  1401.     change the configuration of your hard disk because this can affect the
  1402.     partition tables and the CMOS setup. You should prepare a new recovery
  1403.     diskette after all system modifications. See the  Prepare a Recovery
  1404.     Diskette  section in the next chapter for more information.
  1405.  
  1406.  
  1407.     1.4.3 Getting Updates
  1408.  
  1409.     As new viruses emerge, which is almost daily, you need to replace
  1410.     TbScan's signature file (TBSCAN.SIG) periodically with a more up to date
  1411.     one. You can get the latest signature file from your local ThunderBYTE
  1412.     dealer. Subscribing to the ThunderBYTE update service at your local
  1413.     dealer is a convenient way to guarantee the delivery of each new update.
  1414.  
  1415.     You can also download the file directly from the ThunderBYTE support
  1416.     Bulletin Board Systems (BBS).
  1417.  
  1418.     To download updates, follow these steps:
  1419.  
  1420.          1. Using your telecommunications program, dial the BBS phone number.
  1421.  
  1422.          2. When the modem logs on, press the ESC twice to go to the
  1423.          ThunderBYTE On-line Service.
  1424.  
  1425.          3. From the File Menu select Download Latest ThunderBYTE Anti-Virus
  1426.          Utilities .
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 21
  1435.  
  1436.  
  1437.  
  1438.          4. Select the File Transfer Protocol "zmodem" or "ymodem" from the
  1439.          Protocol Menu to select the file protocol you want to use, and then
  1440.          begin your download procedure.
  1441.  
  1442.     Additionally, you can check with a local bulletin board regularly, as
  1443.     many of them offer updated versions of our software.
  1444.  
  1445.     We issue the standard complete release in an archive named: TBAVxxx.ZIP,
  1446.     where  xxx  represents the three-digit version number. The archive
  1447.     extension might vary on local bulletin boards using a different archive
  1448.     method.
  1449.  
  1450.     The release of TBAV for Windows is archived in a file named:
  1451.     TBAVWxxx.ZIP. Again,  xxx  represents the three-digit version number of
  1452.     TBAV for Windows. The same holds for the release of TBAV for Networks; it
  1453.     is distributed in a file called TBAVNxxx.ZIP.
  1454.  
  1455.     To maintain the highest reliability, the Dutch and US ThunderBYTE support
  1456.     sites issue regular beta releases, also containing only the files that
  1457.     have changed. You can identify beta versions by a  B  in the filename,
  1458.     such as TBAVBxxx.ZIP.
  1459.  
  1460.     The resident ThunderBYTE Anti-Virus utilities are also available in
  1461.     processor optimized formats. These processor optimized versions, named
  1462.     TBAVXxxx.ZIP, are for registered users only. You can buy these versions
  1463.     through your local ThunderBYTE dealer.
  1464.  
  1465.     NOTE:
  1466.          The ThunderBYTE Anti-Virus utilities currently support several
  1467.          languages, by means of separate language files. Check your local
  1468.          ThunderBYTE dealer for the availability of the TBAV support file in
  1469.          your language.
  1470.  
  1471.  
  1472.     1.4.4 Maintaining a Network
  1473.  
  1474.     Since you should replace the signature file TBSCAN.SIG frequently, this
  1475.     can turn into much work if you have to update all workstations on a
  1476.     network manually. Fortunately, there are several possibilities to do this
  1477.     job automatically.
  1478.  
  1479.     Using the TbLoad Utility
  1480.  
  1481.     The TbLoad utility that ships with TBAV for Windows is used to
  1482.     automatically update the existing ThunderBYTE Anti-Virus software
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 22
  1490.  
  1491.  
  1492.  
  1493.     installed on your system. Please refer to the section about TbLoad in the
  1494.     TBAV for Windows documentation.
  1495.  
  1496.     Using the DOS REPLACE Command
  1497.  
  1498.     Maintain a directory \TBAV_UPD\ on a public server drive and place any
  1499.     new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
  1500.     in this directory.
  1501.  
  1502.     The workstations should execute a batch file automatically after users
  1503.     login on the network. This batch file should contain the following lines:
  1504.  
  1505.             REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
  1506.             REPLACE X:\TBAV_UPD\*.* C:\TBAV /U /R
  1507.             REPLACE X:\TBAV_UPD\*.* C:\TBAV /A /R
  1508.  
  1509.     REPLACE is a standard DOS utility. If the /U option is specified, it
  1510.     copies the files specified by the first parameter ONLY if they are newer
  1511.     than the files specified in the second parameter. The /A option makes
  1512.     sure that REPLACE copies files that do not yet exist in the destination
  1513.     directory (specified by the second parameter). Make sure REPLACE is in
  1514.     the current path, and that the specified paths are valid for your
  1515.     configuration. The  x  in the above example represents the drive letter
  1516.     of the public server drive.
  1517.  
  1518.     Using this technique, you only have to update one drive with the new
  1519.     signature file or anti-virus software; all workstations will then update
  1520.     themselves when users login! You can also add the /S option if you want
  1521.     REPLACE to scan all directories on the workstations  drives for matching
  1522.     files. Please consult your DOS Operating System manual for more details.
  1523.  
  1524.     WARNING:
  1525.          Don't forget to execute TbSetup on the new utilities in the
  1526.          X:\TBAV_UPD directory, thus ensuring that the REPLACE command also
  1527.          copies the new ANTI-VIR.DAT file.
  1528.  
  1529.  
  1530.     1.4.5 Using the PKUNZIP Utility
  1531.  
  1532.     Maintain a directory \TBAV_UPD\ on a public server drive and place any
  1533.     new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
  1534.     in this directory.
  1535.  
  1536.     The workstations should execute a batch file automatically after users
  1537.     login on the network. This batch file should contain the following lines:
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 23
  1545.  
  1546.  
  1547.  
  1548.             REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
  1549.             PKUNZIP -N -O X:\TBAV_UPD\TBAV???.ZIP C:\TBAV
  1550.  
  1551.     Make sure the file PKUNZIP.EXE is in the current path, and that the paths
  1552.     specified are valid for your configuration.
  1553.  
  1554.     Following this procedure, the PKUNZIP command comes into action only when
  1555.     you just updated the ZIP files in the X:\TBAV_UPD directory. Now you only
  1556.     have to update one drive with the new anti-virus software, and all
  1557.     workstations update themselves when users login.
  1558.  
  1559.     WARNING:
  1560.          If you did not create a Recovery Diskette during installation, we
  1561.          recommended that you do so. See the "Create a Recovery Diskette"
  1562.          section in Chapter 2 for instructions on how to do this. The example
  1563.          setups assume you have created such a recovery diskette.
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 24
  1600.  
  1601.  
  1602.  
  1603.  
  1604.     2 Defining Your Anti-Virus Strategy
  1605.  
  1606.     In this chapter, you learn how to accomplish two things: how to protect
  1607.     yourself against virus infection, and how to recover from virus
  1608.     infection. We recommend you read this chapter because it contains several
  1609.     useful tips.
  1610.  
  1611.  
  1612.     2.1 Protecting Yourself Against Virus Infection
  1613.  
  1614.     Maintaining a reliable safety system implies that you actively take
  1615.     measures to protect your system from virus infection, since some viruses
  1616.     can hide themselves perfectly once resident in memory.
  1617.  
  1618.     TIP:
  1619.          At least once a week you should boot from a clean and
  1620.          write-protected diskette and execute TbScan to check your computer
  1621.          for virus infections.
  1622.  
  1623.     The tightness of your safety system really depends on two things:
  1624.  
  1625.          1. The vitality of the appropriate computer system
  1626.  
  1627.          2. The amount of time you want to invest to let the safety measures
  1628.          take place
  1629.  
  1630.     For example, on a standalone computer containing low risk data, and in an
  1631.     environment with little exchange of computer software, a daily scan is
  1632.     usually sufficient. For company use, however, in a network environment
  1633.     where users exchange diskettes frequently, where disks contain highly
  1634.     vulnerable information, and where a network going  down  means the loss
  1635.     of an extensive amount of money, protection must be as tight as the
  1636.     organization can practically handle.
  1637.  
  1638.     With this in mind, it's impossible to define one strategy for system
  1639.     protection that will work for everybody. It all depends on your demands
  1640.     and possibilities.
  1641.  
  1642.     The TBAV utilities, however, are extremely flexible and enable you to
  1643.     define your own strategy, one that will work for your special needs.
  1644.     Although the following six basic precautions are NOT intended to be a
  1645.     complete protection system, they do provide a foundation on which you can
  1646.     build your own strategy.
  1647.  
  1648.          1. Install TBAV on your hard disk
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 25
  1655.  
  1656.  
  1657.  
  1658.          You can customize the installation to suit your specific needs. Be
  1659.          sure to use TbSetup to maintain recovery information of all
  1660.          executable files of your system! Refer to the  Installing the TBAV
  1661.          Utilities  section in Chapter 1 for details.
  1662.  
  1663.          The following examples assume that all utilities reside in the
  1664.          default directory \TBAV. All example setups require that TbSetup is
  1665.          running. If your system has more hard disks or disk partitions, you
  1666.          should repeat the TbSetup invocation for every drive or partition.
  1667.  
  1668.          TIP
  1669.               Remember that you can use the ALLDRIVES and ALLNET options to
  1670.               make TbSetup process all local respectively remote
  1671.               non-removable drives.
  1672.  
  1673.          Furthermore, the example setups assume you have created a recovery
  1674.          diskette.
  1675.  
  1676.          2. Prepare a recovery diskette
  1677.  
  1678.          It is imperative to have a clean recovery diskette to recover from
  1679.          virus infection. If you didn't create a recovery diskette during the
  1680.          TBAV installation, take a few minutes to prepare one now. Later,
  1681.          when a virus infects your system, it's too late! To create a
  1682.          recovery diskette, follow these steps:
  1683.  
  1684.               1. Insert a new diskette in drive A:, and then change to the
  1685.               DOS directory by typing CD \DOS and pressing ENTER.
  1686.  
  1687.               2. Type FORMAT A: /S, and press ENTER. The /S switch copies
  1688.               the DOS system files to the disk so you can boot the computer
  1689.               with it.
  1690.  
  1691.               3. Type COPY SYS.COM A: and press ENTER. This copies the
  1692.               SYS.COM program, which is the program that DOS uses to copy its
  1693.               system files to a disk.
  1694.  
  1695.               4. Type CD \TBAV to return to the TBAV directory.
  1696.  
  1697.               5. Type MAKERESC A: and press ENTER to create a recovery disk
  1698.               in drive A.
  1699.  
  1700.               WARNING:
  1701.                    If your computer has two floppy disk drives, be sure you
  1702.                    know which one is drive A and create your recovery disk
  1703.                    there. A PC never tries to boot from drive B.
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 26
  1710.  
  1711.  
  1712.  
  1713.               The MAKERESC.BAT procedure creates a reliable recovery diskette
  1714.               by creating or copying the following:
  1715.  
  1716.               - A backup of the boot sector, partition sector and CMOS
  1717.               configuration.
  1718.  
  1719.               - A CONFIG.SYS file, containing:
  1720.  
  1721.                    FILES=20
  1722.                    BUFFERS=20
  1723.                    DEVICE=TBDRIVER.EXE
  1724.                    DEVICE=TBCHECK.EXE FULLCRC
  1725.  
  1726.               - An AUTOEXEC.BAT file, containing:
  1727.  
  1728.                    @ECHO OFF
  1729.                    ECHO OFF
  1730.                    PATH=A:\
  1731.                    TBAV
  1732.                    CLS
  1733.                    ECHO WARNING!!!
  1734.                    ECHO IF YOU SUSPECT A VIRUS, DO NOT EXECUTE
  1735.                         ANYTHING FROM THE HARD DISK!
  1736.  
  1737.               - The following files:
  1738.  
  1739.                    TBAV.EXE
  1740.                    TBAV.LNG
  1741.                    TBSCAN.EXE
  1742.                    TBSCAN.LNG
  1743.                    TBSCAN.SIG
  1744.                    TBDRIVER.EXE
  1745.                    TBDRIVER.LNG
  1746.                    TBCHECK.EXE
  1747.                    TBCLEAN.EXE
  1748.                    TBUTIL.EXE
  1749.                    TBUTIL.LNG
  1750.  
  1751.               6. Copy to the diskette any other utilities that could come in
  1752.               handy in an emergency, such as a simple editor to edit
  1753.               CONFIG.SYS and AUTOEXEC.BAT files. If your hard disk needs
  1754.               special device drivers to unlock added features, such as
  1755.               DoubleSpace or Stacker, copy the appropriate drivers to the
  1756.               recovery diskette and install them in the CONFIG.SYS file on
  1757.               drive A:, being careful to avoid statements that access the
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 27
  1765.  
  1766.  
  1767.  
  1768.               hard disk. Be sure to check the instructions in the device
  1769.               driver's manual for the correct procedures.
  1770.  
  1771.               CAUTION:
  1772.                    If you are using the text editor that ships with DOS 5.0
  1773.                    or later, be sure to not only copy the file EDIT.COM to
  1774.                    drive A:, but also QBASIC.EXE, which EDIT.COM uses.
  1775.  
  1776.               7. Make sure you write protect your recovery disk. Now label it
  1777.               "Recovery Disk" and include on the label the identification of
  1778.               the PC to which the diskette belongs. Store the diskette in a
  1779.               safe place.
  1780.  
  1781.               TIP:
  1782.                    For additional security, make another recovery diskette
  1783.                    and store it in a separate location.
  1784.  
  1785.          3. Prevent the Installation of Unauthorized Software
  1786.  
  1787.          Many companies do not allow employees to install or execute
  1788.          unauthorized software. Similarly, perhaps you want to keep family
  1789.          members from invading your computer with haphazard games and sundry
  1790.          software. TBAV provides a watchdog function that can help to enforce
  1791.          this. Follow these steps:
  1792.  
  1793.               1. First you need to add the following lines to the CONFIG.SYS
  1794.               file:
  1795.  
  1796.                    DEVICE=C:\TBAV\TBDRIVER.EXE
  1797.                    DEVICE=C:\TBAV\TBCHECK.EXE SECURE
  1798.  
  1799.               Alternately, if you are using the TBSTART.BAT file, then you
  1800.               would add the following two lines to it:
  1801.  
  1802.                    C:\TBAV\TBDRIVER
  1803.                    C:\TBAV\TBCHECK SECURE
  1804.  
  1805.               2. Run TbSetup on the system by typing "TBSETUP  ALLDRIVES" and
  1806.               pressing ENTER.
  1807.  
  1808.               3. Reboot the system.
  1809.  
  1810.          From now on, TbCheck puts an effective clamp on any user who tries
  1811.          to execute software that TbSetup has not duly authorized first.
  1812.          Whenever someone is trying to execute an unknown program, TBAV
  1813.          displays the following message:
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 28
  1820.  
  1821.  
  1822.  
  1823.  
  1824.                     +-----------TBAV Interception-----------+
  1825.                     | The requested program (GAME.EXE)      |
  1826.                     | is not authorized and can not be      |
  1827.                     | executed.                             |
  1828.                     | Execution cancelled! Press any key... |
  1829.                     +---------------------------------------+
  1830.  
  1831.          4. Restrict User Access
  1832.  
  1833.          Most of the TBAV utilities are interactive; that is, they
  1834.          communicate with a knowledgeable user to establish appropriate
  1835.          action in ambiguous situations. Many companies, however, insist that
  1836.          the system operator be the sole authority allowed to communicate
  1837.          with TBAV, and so avoid wrong doing by possibly inept employees.
  1838.  
  1839.          It is for this very reason that most of the TBAV utilities support
  1840.          the SECURE option. When you specify this option, TBAV suspends all
  1841.          user interaction with the utilities. In other words, TBAV never asks
  1842.          users for permission to allow questionable operations, avoiding
  1843.          erroneous decisions that might well result in irreparable havoc.
  1844.          This option also prevents the user from disabling or unloading the
  1845.          TBAV utilities.
  1846.  
  1847.          5. Never Use "Strange" Diskettes to Boot
  1848.  
  1849.          Boot only from your hard disk or from your original DOS diskette.
  1850.          NEVER use someone else's disk to boot the computer. If you have a
  1851.          hard disk, make certain that the door to your floppy drive is open
  1852.          before resetting or booting the machine.
  1853.  
  1854.          6. Run the DOS CHKDSK Command Often Use the DOS program CHKDSK
  1855.          frequently (without the /F switch). CHKDSK can sometimes indicate
  1856.          the presence of a virus simply because some viruses change the disk
  1857.          structure incorrectly, thereby causing disk errors in the process.
  1858.          Look out for changes in the behavior of your software or your PC.
  1859.          Any change in their behavior is suspect, unless you know its cause.
  1860.          Some highly suspicious symptoms are:
  1861.  
  1862.               A decrease in the amount of available memory space.
  1863.               CHKDSK should report 655,360 total bytes of memory.
  1864.               Programs require more time to execute.
  1865.  
  1866.               Programs do not operate as they used to, or they cause
  1867.               the system to crash or reboot after some time.
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 29
  1875.  
  1876.  
  1877.  
  1878.               Data mysteriously disappears or becomes damaged.
  1879.  
  1880.               The size of one or more programs has increased.
  1881.  
  1882.               The screen behaves strangely or displays unusual
  1883.               information.
  1884.  
  1885.               CHKDSK detects many errors.
  1886.  
  1887.          TIP:
  1888.               You can also instruct TbScan to mimic the behavior of the DOS
  1889.               command CHKDSK. Simply execute TbScan with the fatcheck  option
  1890.               enabled. For example, if you want TbScan to scan your C: and D:
  1891.               drive once a day, and to check the integrity of those disks,
  1892.               place the following command in your AUTOEXEC.BAT file:
  1893.                                   TbScan  C:\  D:\ FATCHECK ONCE
  1894.  
  1895.  
  1896.     2.2 Recovering from Virus Infection
  1897.  
  1898.     This section presents some tips on how to clean your computer system when
  1899.     it is has been compromised by a virus.
  1900.  
  1901.          1. Backup Your Data
  1902.  
  1903.          The very first thing to do when you realize that your system might
  1904.          be infected is to back up all important files immediately. Label the
  1905.          new backup as unreliable, since some of the files might be infected.
  1906.  
  1907.          CAUTION:
  1908.               Use fresh backup media and do not overwrite a previous backup
  1909.               set. You might need the previous set to replace lost or
  1910.               contaminated files.
  1911.  
  1912.          2. Boot From a Recovery Diskette
  1913.  
  1914.          When you become aware of a virus infection, it is imperative that
  1915.          you boot only from a reliable, write protected recovery system
  1916.          diskette.
  1917.  
  1918.          3. Know the Symptoms of a Virus
  1919.  
  1920.          Now execute TbScan for an indication of what is wrong, or boot from
  1921.          a recovery diskette and compare its system files with those on the
  1922.          hard disk to check for changes. During this test you should take
  1923.          care to stay logged onto your system diskette.
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 30
  1930.  
  1931.  
  1932.  
  1933.          TbScan reports the virus name if it knows the virus, or it gives a
  1934.          summary of file changes if it can't identify the virus. If you use
  1935.          the command line below, for example, TbScan processes all
  1936.          non-removable drives and prints the results of the scan process to
  1937.          the printer.
  1938.  
  1939.          TBSCAN  ALLDRIVES  LOGNAME=LPT1  LOG
  1940.  
  1941.          Also run TbUtil, to check the boot sector, partition code and the
  1942.          CMOS configuration, using the following command:
  1943.  
  1944.             TBUTIL  COMPARE
  1945.  
  1946.          WARNING:
  1947.               To prevent a virus from invading the system's memory and
  1948.               possibly masking the test results, do not execute any program
  1949.               on your hard disk. TbCheck warns you if you accidentally try to
  1950.               execute an infected or unauthorized program on your hard disk.
  1951.  
  1952.          Remember that it is in the nature of a file virus to infect as many
  1953.          programs as possible over a short period. You ll seldom find only a
  1954.          few programs on a hard disk to be infected. A TbScan virus alert
  1955.          that flags a mere one percent of the files on a hard-worked system
  1956.          is probably just a false alarm that has nothing to do with a real
  1957.          virus.
  1958.  
  1959.          In other words, if the file compare test indicates that all of them
  1960.          are still the same, you know at least that you are not dealing with
  1961.          a file virus. Avoid using the same copy of the TbScan program on
  1962.          another system after discovering a virus. Like any other program
  1963.          file, TBSCAN.EXE itself can become infected!
  1964.  
  1965.          To check infections of the TbScan program, the program performs a
  1966.          sanity check when it runs. Unfortunately, there is no way to make
  1967.          software 100% virus-proof. A sanity check does not work if a
  1968.          stealth-type  virus is at work. A stealth virus can hide itself
  1969.          completely when you run a self-check.
  1970.  
  1971.          In case you are wondering, this is not a bug in TbScan. The failure
  1972.          to detect stealth viruses is common to all software that performs a
  1973.          sanity check. We, therefore, recommend that you keep a clean version
  1974.          of TbScan on a write-protected diskette. Use this diskette to check
  1975.          other machines once you have found a virus on your system.
  1976.  
  1977.          4. Identify Virus Characteristics
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 31
  1985.  
  1986.  
  1987.  
  1988.          Viruses come in many different guises and have their own
  1989.          peculiarities. It is extremely important to know at the earliest
  1990.          possible stage which particular kind of virus you are dealing with.
  1991.          This gives you at least some indication of the nature and the amount
  1992.          of the damage it might have caused already.
  1993.  
  1994.          Some viruses infect only executable files that you can easily
  1995.          reinstall or replace from a clean source. Others swap some random
  1996.          bytes anywhere on the hard disk, which could affect data files as
  1997.          well, although the results might not be noticeable for some time.
  1998.          Then there are those viruses that damage the hard disk partition
  1999.          table or file allocation table. Some of the even nastier viruses,
  2000.          the so-called  multipartite  viruses, operate in more than one area.
  2001.  
  2002.          Once you isolate the virus, either contact your support BBS, consult
  2003.          literature on virus problems, or get in touch with a virus expert.
  2004.  
  2005.          WARNING:
  2006.               Whatever you do, DON'T PANIC! An inexperienced user, reacting
  2007.               in confusion, can often create more havoc than the virus
  2008.               itself, such as blindly eradicating important data. While an
  2009.               instant reformat might get rid of the virus, it will definitely
  2010.               destroy all your recent work as well.
  2011.  
  2012.          5.  Restore the System
  2013.  
  2014.          Again, while recovering from a virus infection, it is particularly
  2015.          important to boot only from a clean write-protected system diskette.
  2016.          This the only way to keep a virus out of the system's memory. Never
  2017.          execute a program from the hard disk.
  2018.  
  2019.          Using the SYS command on the system or recovery diskette, restore
  2020.          the master boot sector and the DOS system files to the hard disk. If
  2021.          the boot sector or partition code contains a virus, you can also use
  2022.          the following command to get rid of it by restoring clean sectors:
  2023.  
  2024.             TBUTIL  RESTORE
  2025.  
  2026.          WARNING:
  2027.               Many modern hard disks, notably IDE or AT drives using advanced
  2028.               pre-formatting methods, are low-level formatted by the
  2029.               manufacturer, ready for partitioning and a DOS format. NEVER
  2030.               try to low-level format these drives yourself. Doing so can
  2031.               ruin the drive. It is always better to back up the partition
  2032.               table with a utility such as TbUtil, which restores the
  2033.               partition table for you without reformatting.
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 32
  2040.  
  2041.  
  2042.  
  2043.          If TBAV identifies the virus as a file virus, the safest course is
  2044.          to remove the infected files (using TbDel) and to copy or reinstall
  2045.          all executables from a CLEAN source. A virus cleaning utility, such
  2046.          as TbClean, won't always be able to fully restore the original
  2047.          program code, so use this only as a last resort, such as when you
  2048.          don't have a reliable backup. It might be necessary to replace data
  2049.          files as well if the virus is known to cause damage in that area.
  2050.  
  2051.          CAUTION:
  2052.               After reassuring yourself that the system is absolutely clean
  2053.               again, run a careful check on all diskettes and backups to
  2054.               remove every single trace of the virus. Keep in mind that it
  2055.               takes only one infected diskette to reacquire the problem.
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 33
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.     3 Using the TBAV utilities
  2101.  
  2102.     This chapter fully describes each of the TBAV utilities. For quick
  2103.     reference, we will present each utility using at least three sections:
  2104.     Understanding the utility, Working with the utility, and Maximizing the
  2105.     utility. Most discussions also include a fourth section: Understanding
  2106.     the utility's operating process.
  2107.  
  2108.  
  2109.     3.1 Using TbSetup
  2110.  
  2111.     Even though TbSetup does not take an active part in actual virus
  2112.     detection or cleaning, it is nonetheless an indispensable tool in adding
  2113.     support to the rest of the ThunderBYTE Anti-Virus utilities. TbSetup
  2114.     organizes control and recovery information, thereby giving extra power to
  2115.     the other utilities. It gathers information, mainly from program files,
  2116.     into a single ANTI-VIR.DAT reference file, one in each directory.
  2117.  
  2118.     NOTE:
  2119.          See the "Understanding ANTI-VIR.DAT Files" section at the end of
  2120.          this chapter for a fuller explanation of these files.
  2121.  
  2122.  
  2123.     3.1.1 Understanding TbSetup
  2124.  
  2125.     Although the ThunderBYTE utilities can work perfectly well without the
  2126.     ANTI-VIR.DAT files, we recommend that you have TbSetup generate these
  2127.     files. TBAV uses these files for several purposes:
  2128.  
  2129.          TbScan and the memory resident TbCheck program perform an integrity
  2130.          check while scanning if it can detect the ANTI-VIR.DAT file. If a
  2131.          file becomes infected by a virus, the information in the
  2132.          ANTI-VIR.DAT file will not match the actual file contents, and
  2133.          TbScan and TbCheck will inform you that the file has been changed.
  2134.  
  2135.          The TbSetup program recognizes some files that need special
  2136.          treatment. An example of such a file is a disk image file of a
  2137.          network remote boot disk. You should completely scan such a file,
  2138.          which actually represents a complete disk. TbSetup puts a mark in
  2139.          the ANTI-VIR.DAT file to ensure that TbScan scans the entire file
  2140.          for all viruses.
  2141.  
  2142.          Once a file becomes infected, TbClean can reconstruct the original
  2143.          file. The information in the ANTI-VIR.DAT file will be of great help
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 34
  2150.  
  2151.  
  2152.  
  2153.          to TbClean. TbClean can cure some infected programs only if there is
  2154.          information about the program in the ANTI-VIR.DAT file.
  2155.  
  2156.          TbCheck (a tiny resident integrity checker) has no purpose if there
  2157.          are no ANTI-VIR.DAT files on your system. The resident TBAV
  2158.          utilities need the ANTI-VIR.DAT files to maintain permission
  2159.          information. Without ANTI-VIR.DAT files you can't prevent false
  2160.          alarms other than by disabling a complete feature.
  2161.  
  2162.     NOTE:
  2163.          Be aware that the ANTI-VIR.DAT directory entries have by default the
  2164.          attribute  hidden  and therefore do not show up when you use
  2165.          standard directory commands. You can see the filenames only with the
  2166.          help of special utilities or with the DOS 6 command DIR  AH.
  2167.  
  2168.  
  2169.     3.1.2 Working with the TbSetup Menu
  2170.  
  2171.     This is the one program where the rule applies: The less you use the
  2172.     program, the better your protection against viruses! Why? Keep in mind
  2173.     that an ANTI-VIR.DAT file stores vital information needed to detect a
  2174.     virus, as well as data for subsequent recovery and for cleaning.
  2175.     Consider, then, what would happen if you were to execute TbSetup after a
  2176.     virus entered the system. The information in the ANTI-VIR.DAT file would
  2177.     be  updated  to the state of the infected file, wiping out all traces of
  2178.     data needed to reconstruct the original file to its uninfected state.
  2179.  
  2180.     WARNING:
  2181.          NEVER, NEVER, NEVER, use TbSetup when there is the slightest
  2182.          evidence of a virus on your system. Once TbSetup generates
  2183.          ANTI-VIR.DAT files as part of the initial setup, you should confine
  2184.          any subsequent use of TbSetup to directories with new or changed
  2185.          program files.
  2186.  
  2187.     Now we will explore these menu options.
  2188.  
  2189.     Selecting the "TbSetup" option from the Main Menu displays the following
  2190.     menu:
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 35
  2205.  
  2206.  
  2207.  
  2208.              +-----Main menu------+
  2209.              | Confi+-----TbSetup menu------+
  2210.              | TbSca|  Start TbSetup        |
  2211.              | TbSet|  Options menu        >|
  2212.              | TbUti|  Flags menu          >|
  2213.              | TbCLe|  Data file path/name  |
  2214.              | Virus|  View data file       |
  2215.              | TBAV +-----------------------+
  2216.              | Documentation     >|
  2217.              | Register TBAV      |
  2218.              | About              |
  2219.              | eXit (no save)     |
  2220.              | Quit and save      |
  2221.              +--------------------+
  2222.  
  2223.     The "Start TbSetup" Option
  2224.  
  2225.     Select this option only after you complete your selection of other
  2226.     options on this menu and other sub-menus. When you select this option,
  2227.     the "Enter disk / path / file(s) to process:" window appears. Type in the
  2228.     drive and directory you want to setup and press ENTER.
  2229.  
  2230.  
  2231.     The "Options Menu" Option
  2232.  
  2233.     Selecting this option displays the following menu:
  2234.  
  2235.              +-----Main menu------+
  2236.              | Confi+-----TbSetup menu------+
  2237.              | TbSca|  Start+-----------TbSetup options----------+
  2238.              | TbSet|  Optio|  Use TBAV.INI file                 |
  2239.              | TbUti|  Flags|  Prompt for pause                  |
  2240.              | TbCLe|  Data |  Only new files                    |
  2241.              | Virus|  View |  Remove Anti-Vir.Dat files         |
  2242.              | TBAV +-------|  Test mode (Don't change anything) |
  2243.              | Documentation|v Hide Anti-Vir.Dat files           |
  2244.              | Register TBAV|  Make executables readonly         |
  2245.              | About        |  Clear readonly attributes         |
  2246.              | Quit and save|v Sub-Directory scan                |
  2247.              | eXit (no save+------------------------------------+
  2248.              +--------------------+
  2249.  
  2250.          Use TBAV.INI file.
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 36
  2260.  
  2261.  
  2262.  
  2263.          By enabling this option, the TbSetup configuration values, saved in
  2264.          the TBAV.INI file, will also apply when loading TbSetup from the
  2265.          command line.
  2266.  
  2267.          CAUTION:
  2268.               If you specify options in the TBAV.INI file, you cannot undo
  2269.               them on the command line.
  2270.  
  2271.  
  2272.          Prompt for pause.
  2273.  
  2274.          When you specify this option, TbSetup stops after it processes the
  2275.          contents of one window. This enables you to examine the results.
  2276.  
  2277.  
  2278.  
  2279.          Only new files.
  2280.  
  2281.          Use this option if you want to add new files to the ANTI-VIR.DAT
  2282.          database but prevent the information of changed files from being
  2283.          updated. Updating the information of changed files is dangerous
  2284.          because if the files are infected, the information to detect and
  2285.          cure the virus is overwritten. This option prevents the information
  2286.          from being overwritten but still allows adding information of new
  2287.          files to the database.
  2288.  
  2289.  
  2290.          Remove ANTI-VIR.DAT files.
  2291.  
  2292.          If you want to stop using the ThunderBYTE utilities you do not have
  2293.          to remove all the ANTI-VIR.DAT files yourself. By using this option
  2294.          TbSetup neatly removes all ANTI-VIR.DAT files from your system.
  2295.  
  2296.  
  2297.  
  2298.          Test mode (Don't change anything).
  2299.  
  2300.          Use this option if you want to see the effects of an option without
  2301.          the risk of activating something you don't want to activate. This
  2302.          option instructs the program to behave as it normally would but not
  2303.          change or update anything on your hard disk.
  2304.  
  2305.  
  2306.  
  2307.  
  2308.          Hide ANTI-VIR.DAT files.
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 37
  2315.  
  2316.  
  2317.  
  2318.  
  2319.          The ANTI-VIR.DAT files are normally not visible in a directory
  2320.          listing. If you prefer them to be visible, disable this option.
  2321.  
  2322.          NOTE:
  2323.               Be aware that this option applies only for new ANTI-VIR.DAT
  2324.               files
  2325.  
  2326.  
  2327.          Make executables read-only.
  2328.  
  2329.          Since TbFile permanently guards the read-only attribute, we
  2330.          recommend that you make all executable files read-only to prevent
  2331.          any modifications on these files. TbSetup automatically does this
  2332.          job for you if you enable this option. TbSetup recognizes files that
  2333.          you should not make read-only.
  2334.  
  2335.          Clear read-only attributes.
  2336.  
  2337.          Use this option to reverse the "Make executables read-only"
  2338.          operation. If you enable this option, TBAV clears all read-only
  2339.          attributes on all executable files.
  2340.  
  2341.  
  2342.          Sub-Directory scan.
  2343.  
  2344.          By default, TbSetup searches sub-directories for executable files,
  2345.          unless you specify a filename (wildcards allowed). If you disable
  2346.          this option, TbSetup will not process sub-directories.
  2347.  
  2348.  
  2349.     The "Flags Menu" Option
  2350.  
  2351.     Selecting this option displays the following menu:
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 38
  2370.  
  2371.  
  2372.  
  2373.              +-----Main menu------+
  2374.              | Confi+-----TbSetup menu------+
  2375.              | TbSca|  Start+-----TbSetup flags------+
  2376.              | TbSet|  Optio|v Use normal flags      |
  2377.              | TbUti|  Flags|  Set flags manually    |
  2378.              | TbCLe|  Data |  Reset flags manually  |
  2379.              | Virus|  View |  Define flags         >|
  2380.              | TBAV +-------+------------------------+
  2381.              | Documentation     >|
  2382.              | Register TBAV      |
  2383.              | About              |
  2384.              | Quit and save      |
  2385.              | eXit (no save)     |
  2386.              +--------------------+
  2387.  
  2388.     NOTE:
  2389.          "Flags" refer to internal indicators, created by ThunderBYTE to
  2390.          signal internal file attributes.
  2391.  
  2392.     This menu contains the following options:
  2393.  
  2394.          Use normal flags.
  2395.  
  2396.          This is the default setting for TbSetup.
  2397.  
  2398.  
  2399.          Set flags manually.
  2400.  
  2401.          This option is for advanced users only. Using this option, you can
  2402.          manually set permission flags in the ANTI-VIR.DAT record. This
  2403.          option requires a hexadecimal bit mask for the flags to set; you can
  2404.          specify this bit mask by selecting one of more of the items listed
  2405.          in the "Define flags" sub-menu, which appears below.
  2406.  
  2407.  
  2408.          Reset flags manually.
  2409.  
  2410.          This option is for advanced users only. Using this option, you can
  2411.          manually reset permission flags or prevent flags from being set in
  2412.          the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
  2413.          for the flags to reset; you can specify this bit mask by selecting
  2414.          one or more of the items listed in the  "Define flags"  sub-menu,
  2415.          which appears below.
  2416.  
  2417.  
  2418.          Define flags.
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 39
  2425.  
  2426.  
  2427.  
  2428.  
  2429.          Selecting this option displays the changed following menu:
  2430.  
  2431.              +-----Main menu------+
  2432.              | Confi+-----TbSetup menu------+
  2433.              | TbSca|  Start+-----TbSetup flags------+
  2434.              | TbSet|  Optio|v Use n+--Define flags to be--------+
  2435.              | TbUti|  Flags|  Set f|  0001: Heuristic analysis  |
  2436.              | TbCLe|  Data |  Reset|  0002: Checksum changes    |
  2437.              | Virus|  View |  Defin|  0004: Disk image File     |
  2438.              | TBAV +-------+-------|  0008: Read only sensitive |
  2439.              | Documentation     >| |  0010: TSR program         |
  2440.              | Register TBAV      | |  0020: Direct disk access  |
  2441.              | About              | |  0040: Attribute modifier  |
  2442.              | Quit and save      | |  8000: Interrupt rehook    |
  2443.              | eXit (no save)     | +----------------------------+
  2444.              +--------------------+
  2445.  
  2446.          Selecting one or more of these options accomplishes the following:
  2447.  
  2448.          0001: Heuristic analysis.
  2449.  
  2450.          Programs with the 0001 flag will not be heuristically scanned.
  2451.  
  2452.  
  2453.          0002: Checksum changes.
  2454.  
  2455.          Programs with the 0002 flag will not be checked for file changes.
  2456.  
  2457.  
  2458.          0004: Disk image File.
  2459.  
  2460.          Files with this flag contain a disk layout and are checked
  2461.          completely.
  2462.  
  2463.  
  2464.          0008: Read only sensitive.
  2465.  
  2466.          Files with this flag cannot be changed to read-only.
  2467.  
  2468.  
  2469.          0010: TSR program.
  2470.  
  2471.          Programs with this flag have permission to stay resident in memory.
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 40
  2480.  
  2481.  
  2482.  
  2483.          0020: Direct disk access.
  2484.  
  2485.          Programs with this flag have permission to write directly to the
  2486.          disk.
  2487.  
  2488.  
  2489.          0040: Attribute modifier.
  2490.  
  2491.          Programs with this flag have permission to change program
  2492.          attributes.
  2493.  
  2494.  
  2495.          8000: Interrupt rehook.
  2496.  
  2497.          After a program with this flag starts, TbDriver should rehook
  2498.          interrupts.
  2499.  
  2500.  
  2501.     The "Data File Path Name" Option
  2502.  
  2503.     TbSetup searches for "special" files by using a file named TBSETUP.DAT.
  2504.     You can use this option to specify another path or filename that contains
  2505.     a list of  special  files. Select the option, and then enter the name
  2506.     (and path if necessary) of the data file you want to use.
  2507.  
  2508.  
  2509.     The "View Data File" Option
  2510.  
  2511.     Selecting this option displays the TBSETUP.DAT file on the screen for
  2512.     your viewing. Use the cursor movement keys to move through the file.
  2513.  
  2514.     TIP:
  2515.          Instead of using the internal file viewer to view the User Manual,
  2516.          you can substitute your own favorite viewer. See the  "Configuring
  2517.          TBAV" section in Chapter 1 for details..
  2518.  
  2519.  
  2520.     3.1.3 Maximizing TbSetup
  2521.  
  2522.     Now that you know how to use TbScan's menus, you can more easily
  2523.     understand how to maximize its performance by using command line options.
  2524.     The following table summarizes these options:
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 41
  2535.  
  2536.  
  2537.  
  2538.          option parameter   short explanation
  2539.          ------------------ ----- ----------------------------------------
  2540.          help                he   help
  2541.          pause               pa   enable "Pause" prompt
  2542.          mono                mo   force monochrome output
  2543.          nosub               ns   skip sub-directories
  2544.          newonly             no   do not update changed records
  2545.          alldrives           ad   process all local fixed drives
  2546.          allnet              an   process all network drives
  2547.          remove              rm   remove ANTI-VIR.DAT files
  2548.          test                te   do not create / change anything
  2549.          nohidden            nh   do not make ANTI-VIR.DAT files hidden
  2550.          readonly            ro   set read-only attribute on executables
  2551.          nordonly            nr   remove / do not set read-only attribute
  2552.          set=<flags>         se   set flags
  2553.          reset=<flags>       re   reset flags / do not set flags
  2554.          datfile=<filename>  df   specify the data file to be used
  2555.  
  2556.     The explanations in the above table serve as a quick reference, but the
  2557.     following descriptions provide more information about each option.
  2558.  
  2559.  
  2560.          help (he).
  2561.  
  2562.          Specifying this option displays a short list of available options,
  2563.          as listed above.
  2564.  
  2565.  
  2566.          pause (pa).
  2567.  
  2568.          Specifying this option stops after processing the contents of one
  2569.          window. This enables you to examine the results.
  2570.  
  2571.  
  2572.          mono (mo).
  2573.  
  2574.          This option enhances the screen output on some LCD screens or
  2575.          color-emulating monochrome systems.
  2576.  
  2577.  
  2578.          nosub (ns).
  2579.  
  2580.          By default, TbSetup searches sub-directories for executable files,
  2581.          unless you specify a filename (wildcards allowed). If you specify
  2582.          this option, TbSetup will not process sub-directories.
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 42
  2590.  
  2591.  
  2592.  
  2593.          newonly (no).
  2594.  
  2595.          Use this option if you want to add new files to the ANTI-VIR.DAT
  2596.          database but prevent the information of changed files from being
  2597.          updated. Updating the information of changed files is dangerous
  2598.          because if the files become infected, the information to detect and
  2599.          cure the virus is overwritten. This option prevents the information
  2600.          from being overwritten but still allows adding information of new
  2601.          files to the database.
  2602.  
  2603.  
  2604.          alldrives (ad).
  2605.  
  2606.          If you want TbSetup to process all local non-removable drives you
  2607.          can specify this option. Except for the initial execution, it isn't
  2608.          a good idea to use this option.
  2609.  
  2610.  
  2611.          allnet (an).
  2612.  
  2613.          Specify this option if you want TbSetup to process all network
  2614.          drives.
  2615.  
  2616.          WARNING:
  2617.               Except for the initial execution of the TBAV utilities, it
  2618.               isn't a good idea to use the "allnet" option
  2619.  
  2620.          remove (rm).
  2621.  
  2622.          If you want to stop using the ThunderBYTE utilities, you do not have
  2623.          to remove all the ANTI-VIR.DAT files manually. By using this option,
  2624.          TbSetup neatly removes all ANTI-VIR.DAT files from your system.
  2625.  
  2626.  
  2627.          test (te).
  2628.  
  2629.          Use this option if you want to see the effects of an option without
  2630.          the risk of activating something you don't want to activate. If you
  2631.          specify this option, the program behaves as it would normally but
  2632.          does not change or update anything on your hard disk.
  2633.  
  2634.  
  2635.          nohidden (nh).
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 43
  2645.  
  2646.  
  2647.  
  2648.          The ANTI-VIR.DAT files are normally not visible in a directory
  2649.          listing. If you prefer the ANTI-VIR.DAT files to be visible, use
  2650.          this option.
  2651.  
  2652.          NOTE:
  2653.               Be aware that the "nohidden" option applies only for new
  2654.               ANTI-VIR.DAT files
  2655.  
  2656.  
  2657.          readonly (ro).
  2658.  
  2659.          Since, TbFile permanently guards the read-only attribute, we
  2660.          recommend that you make all executable files read-only to prevent
  2661.          any modifications on these files. TbSetup automatically does this
  2662.          job for you if you use this option. TbSetup recognizes files that
  2663.          you should not make read-only.
  2664.  
  2665.  
  2666.          nordonly (nr).
  2667.  
  2668.          This option reverses the operation of READONLY option. If you use
  2669.          this option, TbSetup clears the read-only attribute from all
  2670.          executable files.
  2671.  
  2672.  
  2673.          set (se).
  2674.  
  2675.          This option is for advanced users only. Using this option you can
  2676.          manually set permission flags in the ANTI-VIR.DAT record. This
  2677.          option requires a hexadecimal bit mask for the flags to set. For
  2678.          information about the bit mask consult the TBSETUP.DAT file. Option
  2679.          format: Set =<flags>; for example: Set = 0001.
  2680.  
  2681.  
  2682.          reset (re).
  2683.  
  2684.          This option is for advanced users only. With this option you can
  2685.          manually reset permission flags or prevent flags from being set in
  2686.          the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
  2687.          for the flags to reset.  For information about the bit mask consult
  2688.          the TBSETUP.DAT file. Option format: Reset =<flags>; for example:
  2689.          Reset = 0001.
  2690.  
  2691.  
  2692.          datfile (df).
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 44
  2700.  
  2701.  
  2702.  
  2703.          After the datfile option you can specify the name of the data file
  2704.          to use.
  2705.  
  2706.     For the initial installation of TBAV, you could use the following
  2707.     command:
  2708.  
  2709.             TBSETUP ALLDRIVES
  2710.  
  2711.     Using the following command, you could specify which drives (C: and D:,
  2712.     for example) you want TbSetup to process:
  2713.  
  2714.             TBSETUP C:\ D:\
  2715.  
  2716.     Since you did not specify a filename in the above command, TbSetup
  2717.     assumes that the specified path to be the top-level path. In other words,
  2718.     TbSetup processes all its sub-directories. If you do specify a filename,
  2719.     TbSetup processes only that path, not any subdirectories. You can use
  2720.     wildcards (the asterisk [*] or the question mark [?]) in the filename.
  2721.  
  2722.     You can use the NEWONLY option to prevent TbSetup from overwriting
  2723.     existing information. To help you remember that you need to run TbSetup
  2724.     again, the next time you run TbScan it displays either a small  'c'
  2725.     after the file to indicate a new file or a capital 'C' if a file has
  2726.     simply been changed.
  2727.  
  2728.     If you add a new file called TEST.EXE to your directory C:\TESTING, you
  2729.     should execute the following command:
  2730.  
  2731.             TBSETUP C:\TESTING\TEST.EXE
  2732.  
  2733.     If you install a new product in a new directory, C:\NEW, you should use
  2734.     the following command:
  2735.  
  2736.             TBSETUP C:\NEW
  2737.  
  2738.  
  2739.     3.1.4 Understanding TbSetup's Operation
  2740.  
  2741.     TbSetup divides the screen into three windows: an information window
  2742.     displaying data file comments across the top of the screen, a scanning
  2743.     window on the left, and a status window on the right.
  2744.  
  2745.     The lower left window lists the names of the files being processed, along
  2746.     with file specific information in the following way:
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 45
  2755.  
  2756.  
  2757.  
  2758.          TEST.EXE 01234  12AB23CD   Added    * 0001
  2759.          |        |      |          |        | |
  2760.          |        |      |          |        | |
  2761.          |        |      |          |        | 'flags' set for this file
  2762.          |        |      |          |        indicates 'special' file
  2763.          |        |      |          action performed
  2764.          |        |      32-bit CRC (checksum)
  2765.          |        file size in hexadecimal number
  2766.          name of file in process
  2767.  
  2768.     Do not be concerned if the information flies too fast for you to read, or
  2769.     if it puzzles you. These details are provided purely for diagnostic use.
  2770.  
  2771.     The scanning window also displays an  action performed  field, which
  2772.     indicates whether an entry in the ANTI-VIR.DAT was added, changed or
  2773.     updated:
  2774.  
  2775.          Added.
  2776.  
  2777.          Means that there was no previous entry for this file in the
  2778.          ANTI-VIR.DAT record and that a new entry was added.
  2779.  
  2780.  
  2781.          Changed.
  2782.  
  2783.          Means that there was an existing entry but the file has been changed
  2784.          and ANTI-VIR.DAT information was updated.
  2785.  
  2786.  
  2787.          Updated.
  2788.  
  2789.          Means that there was an ANTI-VIR.DAT record and the file was found
  2790.          to be unchanged. TbSetup did, however, change some of the program's
  2791.          permission flags, due to either an entry in the TBSETUP.DAT file or
  2792.          in compliance with a SET or RESET option.
  2793.  
  2794.  
  2795.     TIP:
  2796.          You can abort TbSetup at any time by pressing Ctrl+Break.
  2797.  
  2798.  
  2799.     3.1.5 Understanding TBSETUP.DAT Files
  2800.  
  2801.     Although the ThunderBYTE utilities perform well on almost every file
  2802.     without extra help, there are some files that need special attention.
  2803.     TbSetup uses information collected in the TBSETUP.DAT data file, to flag
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 46
  2810.  
  2811.  
  2812.  
  2813.     these special files in the ANTI-VIR.DAT file. The other ThunderBYTE
  2814.     utilities then use this information to determine how they should treat
  2815.     such a "special" file.
  2816.  
  2817.          Some programs maintain configuration information inside the
  2818.          executable file (EXE, COM) itself. Whenever you change the
  2819.          configuration of these programs, the executable file changes as
  2820.          well, along with its checksum. As a result, the new checksum no
  2821.          longer matches the one stored in the TBSETUP.DAT file. Since some
  2822.          TBAV utilities use this checksum information to verify integrity or
  2823.          cleanup results, they need to know when a file's checksum is allowed
  2824.          to change. TbScan can use generic detection methods such as
  2825.          "heuristic" analysis to detect unknown viruses. Since heuristic
  2826.          analysis implies inevitable false alarms when a file looks like a
  2827.          virus, TbScan might have to decide not to do a heuristic analysis on
  2828.          such a program.
  2829.  
  2830.          Some of the TBAV utilities guard the read-only attribute and ensure
  2831.          that it can be removed only with the user's explicit permission. A
  2832.          few programs, however, refuse to run properly with the read-only
  2833.          attribute set.
  2834.  
  2835.          TbScan's default scanning method performs perfectly well with just
  2836.          about any file, but there are some that need special analysis. Such
  2837.          a file is the Novell NET$DOS.SYS file, which is not a device driver
  2838.          as the filename extension suggests, but a disk image of the bootable
  2839.          disk. You should, therefore, scan it completely for all signatures,
  2840.          including COM and BOOT. The resident monitoring utilities of the
  2841.          TBAV package detect all sorts of virus-specific behavior. Some
  2842.          programs, even though they might act like a virus, are still
  2843.          perfectly normal and should be permitted to execute without TBAV
  2844.          interference.
  2845.  
  2846.     You need not worry if you discover that a few files will be excluded from
  2847.     heuristic analysis. TBAV still scans these files in the conventional way
  2848.     for signatures. Furthermore, TBAV will not grant heuristic exclusion
  2849.     unless a file exactly matches its entry in the TBSETUP.DAT file,
  2850.     including its name, size, and 32-bit CRC checksum.
  2851.  
  2852.     This safety feature eliminates security holes effectively, since if a
  2853.     listed file is already infected, its checksum won't match the 32-bit CRC
  2854.     in the TBSETUP.DAT file and the exclusion does not apply. By the same
  2855.     token, if a program becomes infected at a later date, the result is a
  2856.     change in at least one of its characteristics, so the record in the
  2857.     ANTI-VIR.DAT file no longer matches and the file will be subject to full
  2858.     heuristic analysis like any other.
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 47
  2865.  
  2866.  
  2867.  
  2868.  
  2869.     3.2 Using TbScan
  2870.  
  2871.     TbScan is the program you will most likely use the most detect virus
  2872.     infections.
  2873.  
  2874.  
  2875.     3.2.1 Understanding TbScan
  2876.  
  2877.     TbScan is a scanner which has been specifically designed to detect
  2878.     viruses, Trojan Horses and other such threats to your valuable data. Most
  2879.     viruses consist of a unique sequence of instructions, called a
  2880.     signature.  By checking for the appearance of such signatures in a file
  2881.     we can find out whether a program has been infected. Scanning all program
  2882.     files for the signatures of all known viruses helps you to find out
  2883.     quickly whether your system has been infected and, if so, by which virus.
  2884.  
  2885.     Understanding TbScan involves understanding three main features of the
  2886.     program.
  2887.  
  2888.  
  2889.          Fast Scanning
  2890.  
  2891.          TbScan is the fastest scanner on the market today. It, therefore,
  2892.          invites you to use it from within your AUTOEXEC.BAT file every
  2893.          morning. Thanks to its design, TbScan does not slow down if the
  2894.          number of signatures increases. It doesn't matter whether you scan a
  2895.          file for 10 or a 1000 signatures.
  2896.  
  2897.          TbScan even checks itself upon launching. If it detects infection,
  2898.          it aborts and displays an error. This minimizes the risk of the
  2899.          TbScan program itself transferring a virus to your system.
  2900.  
  2901.          Heuristic Scanning
  2902.  
  2903.          TbScan can detect unknown viruses. The built-in disassembler is able
  2904.          to detect suspicious instruction sequences and abnormal program
  2905.          layouts. This feature is called "heuristic scanning" and is
  2906.          partially enabled by default. TBAV performs heuristic scanning on
  2907.          files and boot sectors.
  2908.  
  2909.          NOTE.
  2910.               Virus scanners can only tell you whether your system has been
  2911.               infected. By that time only a non-infected backup or a recovery
  2912.               program such as TbClean can properly counter a virus infection.
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 48
  2920.  
  2921.  
  2922.  
  2923.          Scan Scheduling
  2924.  
  2925.          Every PC owner should use a virus scanner frequently. It is the
  2926.          least one should do to avoid damage caused by a virus. We recommend
  2927.          that you devise your own schedule for a regular scan of your system.
  2928.          See Chapter 2 for details.
  2929.  
  2930.          We recommend the following scan sessions, to be used in combination
  2931.          with each other:
  2932.  
  2933.               Execute TbScan from write-protected bootable diskette once a
  2934.               week. Boot from this diskette before invoking the scanner.
  2935.               Booting from a clean diskette is the only way to make sure that
  2936.               no stealth virus can become resident in memory.
  2937.  
  2938.               Invoke a daily scan. You can invoke TbScan with the ONCE option
  2939.               from within the AUTOEXEC.BAT file to perform the daily scan
  2940.               session automatically, which is the default if you used the
  2941.               standard installation procedure for TBAV (see Chapter 1). It is
  2942.               not necessary to boot from the bootable TbScan diskette to
  2943.               perform the daily scan.
  2944.  
  2945.               Scan each new diskette. You should scan EVERY diskette you
  2946.               receive from a friend or acquaintance for viruses to ensure
  2947.               that a virus hasn't been included along with a copy of "a great
  2948.               game!"
  2949.  
  2950.  
  2951.     3.2.2 Working with the TbScan Menus
  2952.  
  2953.     For daily use you can activate TbScan by loading the program from the DOS
  2954.     command line (e.g., in the AUTOEXEC.BAT file), or through the TBAV menu.
  2955.     For weekly use, when scanning from the TbScan diskette, you could use the
  2956.     DOS command. The Maximizing TbScan  section of this chapter lists the
  2957.     TbScan DOS options. This section describes the use of the TbScan Menu,
  2958.     which is part of the TBAV menu. Taking each menu item in order, we ll
  2959.     explore the function of each.
  2960.  
  2961.     Selecting the "TbScan" option from the TBAV menu displays the following
  2962.     menu:
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 49
  2975.  
  2976.  
  2977.  
  2978.              +-----Main menu-----+
  2979.              | Confi+----TbScan menu-----+
  2980.              | TbSca|  Start scanning    |
  2981.              | TbSet|  Options menu     >|
  2982.              | TbUti|  Advanced options >|
  2983.              | TbCLe|  If virus found   >|
  2984.              | Virus|  Log file menu    >|
  2985.              | TBAV |  View log file     |
  2986.              | Docum+--------------------+
  2987.              | Register TBAV     |
  2988.              | About             |
  2989.              | Quit and save     |
  2990.              | eXit (no save)    |
  2991.              +-------------------+
  2992.  
  2993.  
  2994.     The "Start Scanning" Option
  2995.  
  2996.     Selecting the "Start Scanning" option from the TbScan Menu displays one
  2997.     of the following "Path Menu" configurations:
  2998.  
  2999.              +-----Main menu-----+
  3000.              | Confi+----TbScan menu-----+
  3001.              | TbSca|  Sta+---------Path menu---------+
  3002.              | TbSet|  Opt|  Specified files/paths    |
  3003.              | TbUti|  Adv|  Current directory        |
  3004.              | TbCLe|  If |  Diskette in drive A:     |
  3005.              | Virus|  Log|  Diskette in drive B:     |
  3006.              | TBAV |  Vie|  All fixed Drives         |
  3007.              | Docum+-----|  All fixed Local drives   |
  3008.              | Register TB|  All fixed Network drives |
  3009.              | About      +---------------------------+
  3010.              | Quit and save     |
  3011.              | eXit (no save)    |
  3012.              +-------------------+
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 50
  3030.  
  3031.  
  3032.  
  3033.              +-----Main menu-----+
  3034.              | Confi+----TbScan menu-----+
  3035.              | TbSca|  Sta+---------Path menu---------+
  3036.              | TbSet|  Opt|  Specified files/paths    |
  3037.              | TbUti|  Adv|  Current directory        |
  3038.              | TbCLe|  If |  CD-ROM                   |
  3039.              | Virus|  Log|  Drive_a                  |
  3040.              | TBAV |  Vie|  Fullscan                 |
  3041.              | Docum+-----|  Local                    |
  3042.              | Register TB+---------------------------+
  3043.              | About             |
  3044.              | Quit and save     |
  3045.              | eXit (no save)    |
  3046.              +-------------------+
  3047.  
  3048.     The first menu configuration includes scan targets such as CD-ROM,
  3049.     Drive_a, etc. Primarily, TBAV for Windows uses these scan targets, but
  3050.     TbScan for DOS can also use them. If the TBAV menu finds one or more of
  3051.     these scan targets (the targets are really files with the filename
  3052.     extension SCN), the Path Menu will then display the list of available
  3053.     targets. If no such scan targets exist, the second Path Menu
  3054.     configuration will appear.
  3055.  
  3056.  
  3057.     NOTE:
  3058.          Please be aware that the actual menu items you come across in the
  3059.          Path menu might differ slightly, depending on your system
  3060.          configuration.
  3061.  
  3062.  
  3063.     The Path Menus list the following options:
  3064.  
  3065.          Specified files/paths.
  3066.  
  3067.          This option always presents you with a small prompt window in which
  3068.          you can specify the drives, paths, or even files you want to scan.
  3069.          You can specify multiple path specifications by separating each with
  3070.          spaces. This specification automatically initializes with the last
  3071.          path you scanned before you saved the configuration.
  3072.  
  3073.  
  3074.  
  3075.          Current directory.
  3076.  
  3077.          Select this option if you want to scan only the directory from which
  3078.          you started the TBAV menu shell.
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 51
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.          Diskette in drive A:  or  Diskette in drive B:.
  3091.  
  3092.          If you want to scan multiple diskettes, you might wish to activate
  3093.          the  Repeat  option of TbScan. See the TbScan Options Menu for more
  3094.          information.
  3095.  
  3096.  
  3097.          All fixed drives.
  3098.  
  3099.          This option instructs TbScan to scan all available drives (except
  3100.          the removable ones) completely. Depending on the settings in the
  3101.          TBAV configuration menu, TbScan prompts you to confirm the selected
  3102.          drives.
  3103.  
  3104.  
  3105.          All fixed Local drives.
  3106.  
  3107.          If you are on a network, you probably don't want to scan the entire
  3108.          network. Using this option you can scan just the drives that reside
  3109.          in your machine. Depending on the settings in the TBAV configuration
  3110.          menu, TbScan prompts you to confirm the selected drives.
  3111.  
  3112.  
  3113.  
  3114.          All fixed Network drives.
  3115.  
  3116.          Using this option you can scan all network drives. Depending on the
  3117.          settings in the TBAV configuration menu, TbScan prompts you to
  3118.          confirm the selected drives.
  3119.  
  3120.  
  3121.     The "Options Menu" Option
  3122.  
  3123.     Selecting the "Options Menu" option displays the following menu:
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 52
  3140.  
  3141.  
  3142.  
  3143.              +-----Main menu-----+
  3144.              | Confi+----TbScan menu-----+
  3145.              | TbSca|  Start+------TbScan options-------+
  3146.              | TbSet|  Optio|  Use TBAV.INI file        |
  3147.              | TbUti|  Advan|  Prompt for pause         |
  3148.              | TbCLe|  If vi|  Quick scan               |
  3149.              | Virus|  Log f|  Maximum Compatibility    |
  3150.              | TBAV |  View |v Bootsector scan          |
  3151.              | Docum+-------|v Memory scan              |
  3152.              | Register TBAV|  HMA scan forced          |
  3153.              | About        |v Upper memory scan        |
  3154.              | Quit and save|v File scan                |
  3155.              | eXit (no save|v Windows-OS/2-virus scan  |
  3156.              +--------------|v Sub-Directory scan       |
  3157.                             |  Repeat scanning          |
  3158.                             |v Abort on Ctrl-Break      |
  3159.                             |  Sound Effects            |
  3160.                             |v Fast scrOlling           |
  3161.                             |v Large directories        |
  3162.                             |  FAT checking             |
  3163.                             +---------------------------+
  3164.  
  3165.     Taking each menu item in order, we ll explore the function of each.
  3166.  
  3167.          Use TBAV.INI file.
  3168.  
  3169.          TbScan searches for a file named TBAV.INI in the TBAV directory. By
  3170.          enabling this option, the TbScan configuration values, saved in the
  3171.          TBAV.INI file, will also be valid when loading TbScan from the
  3172.          command line.
  3173.  
  3174.          CAUTION:
  3175.               Be aware that if you specify options in the TBAV.INI, you
  3176.               cannot undo them when running TbScan from the command line.
  3177.  
  3178.  
  3179.          Prompt for pause.
  3180.  
  3181.          When you activate this option, TbScan stops after it checks the
  3182.          contents of each window. As each window fills with files, a
  3183.          "[More]" prompt appears at the bottom of the screen. Simply press
  3184.          any key to view the next list of files. Using this feature enables
  3185.          you to examine the results of the scan without having to consult a
  3186.          log file afterwards.
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 53
  3195.  
  3196.  
  3197.  
  3198.          Quick scan.
  3199.  
  3200.          This option instructs TbScan to use the ANTI-VIR.DAT files to check
  3201.          for file changes since the last scan. TbScan scans only those files
  3202.          that have changed (CRC change) or are not yet listed in
  3203.          ANTI-VIR.DAT. The other files are just checked for matching
  3204.          ANTI-VIR.DAT records. By default, TbScan always scans files (the
  3205.          quick scan  option is not enabled by default).
  3206.  
  3207.  
  3208.          Maximum compatibility.
  3209.  
  3210.          If you select this option, TbScan attempts to be more compatible
  3211.          with your system. Use this option if the program does not behave as
  3212.          you would expect or if it halts the system. Be aware, however, that
  3213.          this option slows down the scanning process. Therefore, use it only
  3214.          when necessary. Be aware also that this option does not affect the
  3215.          results of a scan.
  3216.  
  3217.  
  3218.          Boot sector scan.
  3219.  
  3220.          Enabling this option forces TbScan to scan the boot sector. A boot
  3221.          sector is a certain part of a disk, which is used by the operating
  3222.          system to initialize itself. A special class of viruses (boot sector
  3223.          viruses) use this special part of a disk to infect your system.
  3224.  
  3225.  
  3226.          Memory scan.
  3227.  
  3228.          Enabling this option forces TbScan to scan the memory of the PC.
  3229.  
  3230.  
  3231.          HMA scan forced.
  3232.  
  3233.          By default, TbScan automatically detects the presence of an
  3234.          XMS-driver and scans the HMA. If you are using an HMA-driver that is
  3235.          not compatible with the XMS standard, you can use this option to
  3236.          force TbScan to scan HMA.
  3237.  
  3238.          Upper memory scan.
  3239.  
  3240.          By default, TbScan identifies RAM beyond the DOS limit and scans
  3241.          that memory. This means that it scans video memory and the current
  3242.          EMS. You can use this option to enable the scanning of non-DOS
  3243.          memory.
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 54
  3250.  
  3251.  
  3252.  
  3253.  
  3254.          File scan.
  3255.  
  3256.          By default, TbScan checks files for viruses. Removing the check mark
  3257.          disables file scanning. This option is particularly useful if, for
  3258.          example, you have been struck by a boot sector virus. In order to
  3259.          scan only boot sectors of your floppy disks, you can disable file
  3260.          scan using this option.
  3261.  
  3262.  
  3263.          Windows-OS/2-virus scan.
  3264.  
  3265.          By default, TbScan scans Windows and OS/2 files for viruses.
  3266.          Removing the check mark disables Windows and OS/2 file scanning.
  3267.  
  3268.  
  3269.          Subdirectory scan.
  3270.  
  3271.          By default, TbScan searches sub-directories for executable files,
  3272.          unless you specify a filename (wildcards allowed). If you disable
  3273.          this option, TbScan does not scan sub-directories.
  3274.  
  3275.  
  3276.          Repeat scanning.
  3277.  
  3278.          This option is very useful if you want to check a large number of
  3279.          diskettes. TbScan does not return to DOS after checking a disk,
  3280.          rather it prompts you to insert another disk in the drive.
  3281.  
  3282.  
  3283.          Abort on Ctrl-Break.
  3284.  
  3285.          If you don't want to be able to abort the scanning process by
  3286.          pressing Ctrl+Break, you can disable this option.
  3287.  
  3288.  
  3289.          Sound Effects.
  3290.  
  3291.          Checking this option enables an audible sound when TbScan detects a
  3292.          virus.
  3293.  
  3294.  
  3295.          Fast scrolling.
  3296.  
  3297.          TbScan displays processed files in a scrolling window, which scrolls
  3298.          in one of two methods: fast scrolling, in which the files appear on
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 55
  3305.  
  3306.  
  3307.  
  3308.          top of the previous ones if the window becomes full, and the
  3309.          conventional slow method of scrolling, in which the files at the
  3310.          bottom "push up" the previous ones. By default TbScan uses the
  3311.          faster but less attractive method of scrolling.
  3312.  
  3313.  
  3314.          Large directories.
  3315.  
  3316.          If TbScan's directory table runs out of space, which is very
  3317.          unlikely, you can use this option to allocate a large directory
  3318.          table.
  3319.  
  3320.  
  3321.          Fat checking.
  3322.  
  3323.          If this option is specified, and TbScan is able to use its internal
  3324.          file system, it will check the disks for lost clusters, cross linked
  3325.          clusters, invalid cluster numbers, and invalid allocation sizes.
  3326.          These errors often indicate system problems and need to be corrected
  3327.          as soon as possible. Because TbScan needs to read the FAT and all
  3328.          directories anyway, it can perform this important check without
  3329.          using additional time.
  3330.  
  3331.  
  3332.     The "Advanced Options" Option
  3333.  
  3334.     When you select the  Advanced Options  option, the following menu is
  3335.     displayed:
  3336.  
  3337.              +-----Main menu-----+
  3338.              | Confi+----TbScan menu-----+
  3339.              | TbSca|  Start+------TbScan advanced options-----+
  3340.              | TbSet|  Optio|  High heuristic sensitivity      |
  3341.              | TbUti|  Advan|v Auto heuristic sensitivity      |
  3342.              | TbCLe|  If vi|  Low heuristic sensitivity       |
  3343.              | Virus|  Log f|  Non-executable scan             |
  3344.              | TBAV |  View |  FAT info (fragmented files)     |
  3345.              | Docum+-------|  Extract signatures              |
  3346.              | Register TBAV|  Configure executable extensions |
  3347.              | About        +----------------------------------+
  3348.              | Quit and save     |
  3349.              | eXit (no save)    |
  3350.              +-------------------+
  3351.  
  3352.     Let's now explore these options.
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 56
  3360.  
  3361.  
  3362.  
  3363.          High heuristic sensitivity.
  3364.  
  3365.          While TbScan always performs a heuristic scan on the files being
  3366.          rocessed, it reports a file as infected only if it is very probable
  3367.          that the file is infected. If you select this option, TbScan is
  3368.          somewhat more sensitive. In this mode, TbScan detects 90% of the
  3369.          new, unknown viruses without any signature. Be aware, however, that
  3370.          some false alarms might occur.
  3371.  
  3372.  
  3373.          Auto heuristic sensitivity.
  3374.  
  3375.          By default, TbScan automatically adjusts the heuristic detection
  3376.          level after it finds a virus. In other words, when TbScan finds a
  3377.          virus, it then goes on as if you had selected High heuristic
  3378.          sensitivity.  This option provides you maximum detection
  3379.          capabilities in case you need it, while at the same time keeps false
  3380.          alarms at a minimum.
  3381.  
  3382.  
  3383.          Low heuristic sensitivity.
  3384.  
  3385.          In this mode TbScan almost never issues a false alarm. It still,
  3386.          however, detects about 50% of the new, unknown viruses.
  3387.  
  3388.  
  3389.          Non-executable scan.
  3390.  
  3391.          This option instructs TbScan to scan non-executable files (files
  3392.          with an extension other than COM, EXE, SYS, OV? or BIN) as well as
  3393.          executables. If TbScan finds out that such a file does not contain
  3394.          anything that the processor can execute, it  skips  the file.
  3395.          Otherwise TbScan searches the file for COM, EXE and SYS signatures.
  3396.          Be aware that TbScan does not perform heuristic analysis on
  3397.          non-executable files. Since viruses normally do not infect
  3398.          non-executable files, it is not necessary to scan non-executable
  3399.          files too. We recommend, in fact, that you NOT use this option
  3400.          unless you have a good reason to scan all files. Again, you must
  3401.          execute a virus before it can do what it was programmed to do, and
  3402.          since you do not execute non-executable files, a virus in such a
  3403.          file cannot do anything. For this reason viruses do not even try to
  3404.          infect such files. Some viruses, however, do write to non-executable
  3405.          files, but this is a result of "incorrect" programming. And even
  3406.          though these non-executable files contain corrupted data, they still
  3407.          won't harm other program or data files.
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 57
  3415.  
  3416.  
  3417.  
  3418.          FAT info (fragmented files).
  3419.  
  3420.          If this option is specified, TbScan displays the number of
  3421.          fragmented files after it has finished scanning. If the number of
  3422.          fragmented files is high, you can increase the system performance by
  3423.          using a disk optimizer. This option is only valid if the option
  3424.          'fatcheck' has been specified, and TbScan is using its internal file
  3425.          system.
  3426.  
  3427.  
  3428.          Extract signatures.
  3429.  
  3430.          This option is available to registered users only. See the  Using
  3431.          TbGenSig section in Chapter 4 for more information.
  3432.  
  3433.  
  3434.          Configure executable extensions.
  3435.  
  3436.          By default, TbScan scans only those files that have a filename
  3437.          extension that indicates that the file is a program file. Viruses
  3438.          that do not infect executable code simply do not exist. Files with
  3439.          the extension EXE, COM, BIN, SYS, and OV? (note the wildcard: the
  3440.          OV? specification includes files such as OVR and OVL) are considered
  3441.          executable. There are, however, some additional files that have an
  3442.          internal layout that makes them suitable for infection by viruses.
  3443.          Although it is not likely that you will ever execute most of these
  3444.          files, you might want to scan them anyway. Some filename extensions
  3445.          that might indicate an executable format include: .DLL (MS-Windows
  3446.          Dynamic Link Library), .SCR (MS-Windows screen saver file), .MOD
  3447.          (MS-Windows file), .CPL (MS-Windows Control Panel application), .00?
  3448.          and .APP. While infection of such files is not likely, you might
  3449.          want to scan them once in while. To force TbScan to scan these files
  3450.          by default, select this option and fill out the extensions you want
  3451.          TbScan to scan. For example, you can specify .DLL.SCR.CPL (with no
  3452.          spaces in between). You can also use the question mark wildcard.
  3453.  
  3454.          WARNING:
  3455.               Be careful which extensions you specify. Scanning a
  3456.               non-executable file, for example, causes unpredictable results,
  3457.               and might result in false alarms.
  3458.  
  3459.  
  3460.     The "If Virus Found" Option
  3461.  
  3462.     Selecting this option displays the following menu:
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 58
  3470.  
  3471.  
  3472.  
  3473.              +-----Main menu-----+
  3474.              | Confi+----TbScan menu----+
  3475.              | TbSca|  Start+--What if a virus is found?-+
  3476.              | TbSet|  Optio|v Present action menu       |
  3477.              | TbUti|  Advan|  Just continue (logonly)   |
  3478.              | TbCLe|  If vi|  Delete infected file      |
  3479.              | Virus|  Log f|  Kill infected file        |
  3480.              | TBAV |  View |  Rename infected file      |
  3481.              | Docum+-------+----------------------------+
  3482.              | Register TBAV     |
  3483.              | About             |
  3484.              | Quit and save     |
  3485.              | eXit (no save)    |
  3486.              +-------------------+
  3487.  
  3488.  
  3489.     Let's explore these options.
  3490.  
  3491.          Present action menu.
  3492.  
  3493.          This option (the default) instructs TbScan to display a menu listing
  3494.          four possible actions if it detects a virus: just continue, delete,
  3495.          kill or rename the infected file.
  3496.  
  3497.  
  3498.          Just continue (logonly).
  3499.  
  3500.          By default, if TbScan detects an infected file, it prompts you to
  3501.          delete or rename the infected file, or to continue without action.
  3502.          If you select this option, however, TbScan always continues. We
  3503.          recommend that you use a log file in such situations, since a
  3504.          scanning operation does not make much sense if you don't read the
  3505.          return messages (see the  Log File Menu  option below for further
  3506.          information).
  3507.  
  3508.  
  3509.          Delete infected file.
  3510.  
  3511.          By default, if TbScan detects a virus in a file it prompts you to
  3512.          delete or rename the infected file, or to continue without action.
  3513.          If you select this option, however, TbScan deletes the infected file
  3514.          automatically, without prompting you first. Use this option if you
  3515.          know your computer is infected by a virus and you want to erase all
  3516.          files the virus has infected. Make sure you have a clean backup and
  3517.          that you really want to get rid of all infected files at once.
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 59
  3525.  
  3526.  
  3527.  
  3528.          Kill infected file.
  3529.  
  3530.          This option is almost the same as the "Delete infected file"  option
  3531.          with one major difference. The DOS UNDELETE command enables you can
  3532.          recover a deleted file, but if you delete the infected file using
  3533.          this "Kill" option, recovery is no longer possible.
  3534.  
  3535.  
  3536.          Rename infected file.
  3537.  
  3538.          By default, if TbScan detects a file virus it prompts you to delete
  3539.          or rename the infected file, or to continue without action. If you
  3540.          select this option, however, TbScan renames the infected file
  3541.          automatically, without prompting you first. By default, TbScan
  3542.          replaces the first character of the file extension by the character
  3543.          'V'. It names an .EXE file, to .VXE, for example, and a .COM file to
  3544.          .VOM. This prevents the execution of infected programs and thereby
  3545.          spreading the infection. This also enables you to keep the files for
  3546.          later examination and repair.
  3547.  
  3548.  
  3549.     The "Log File Menu" Option
  3550.  
  3551.     You can use the "TbScan Log Menu" to handle the results of the scan
  3552.     process (write them to a file or to a printer, for example). The menu
  3553.     appears below, followed by a description of the options.
  3554.  
  3555.  
  3556.              +----Main menu-----+
  3557.              |  Confi+------TbScan menu------+
  3558.              |  TbSet|  Start+-------TbScan LOG menu-------+
  3559.              |  TbSca|  Optio|  Log file path/name         |
  3560.              |  TbUti|  Advan|  Output to log file         |
  3561.              |  TbCLe|  If vi|  Specify log-level         >|
  3562.              |  TBAV |  Log f|  Append to existing log     |
  3563.              |  Docum|  View |  No heuristic descriptions  |
  3564.              |  Regis+-------|  Truename filenames         |
  3565.              |  Quit and save+-----------------------------+
  3566.              |  eXit (no save)  |
  3567.              +------------------+
  3568.  
  3569.          Log file path/name.
  3570.  
  3571.          Using this option you can specify the name of the log file you want
  3572.          to use. TbScan creates the file in the current directory unless you
  3573.          specify a path and filename. If the log file already exists, TbScan
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 60
  3580.  
  3581.  
  3582.  
  3583.          overwrites the file (unless you selected the  "Append to existing
  3584.          log" option. If you want to print the results, you can specify a
  3585.          printer device name rather than a filename (LPT1 instead of
  3586.          C:\TBAV\TBSCAN.LOG, for example).
  3587.          CAUTION:
  3588.               To create the log file, you must select the "Output to log
  3589.               file" option.
  3590.  
  3591.  
  3592.          Output to logfile.
  3593.  
  3594.          When you select this option, TbScan creates a log file. The log file
  3595.          lists all infected program files, specifying heuristic flags (see
  3596.          Appendix B) and complete pathnames.
  3597.  
  3598.  
  3599.          Specify log-level.
  3600.  
  3601.          This option enables you to configure the actual contents of the log
  3602.          file using the following menu:
  3603.  
  3604.              +----Main menu-----+
  3605.              |  Confi+------TbScan menu------+
  3606.              |  TbSet|  Start+-------TbScan LOG menu-------+
  3607.              |  TbSca|  Optio|  Log f+--------Log-level menu--------+
  3608.              |  TbUti|  Advan|  Outpu|  0: Log only infected files  |
  3609.              |  TbCLe|  If vi|  Speci|v 1: Log summary too          |
  3610.              |  TBAV |  Log f|  Appen|  2: Log suspected too        |
  3611.              |  Docum|  View |  No he|  3: Log all warnings too     |
  3612.              |  Regis+-------|  Truen|  4: Log clean files too      |
  3613.              |  Quit and save+-------+------------------------------+
  3614.              |  eXit (no save)  |
  3615.              +------------------+
  3616.  
  3617.          These levels determine what kind of file information TbScan notes in
  3618.          the log file. The default log level is 1, but you can select one of
  3619.          five levels:
  3620.  
  3621.               0: Logonly infected files.
  3622.  
  3623.               Specifies that if there are no infected files, do not create or
  3624.               change the log file.
  3625.  
  3626.  
  3627.               1: Log summary too.
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 61
  3635.  
  3636.  
  3637.  
  3638.               Places a summary and time stamp in the log file, and specifies
  3639.               that TbScan put only infected files in the log file.
  3640.  
  3641.  
  3642.               2: Log suspected too.
  3643.  
  3644.               This is almost the same as level 1, but TbScan also logs
  3645.               suspected files,  files that would trigger the heuristic alarm
  3646.               if you specify the "High heuristic" sensitivity  option.
  3647.  
  3648.  
  3649.               3: Log all warnings too.
  3650.  
  3651.               This level is an extension of the previous level. It specifies
  3652.               that TbScan log all files that have a warning character printed
  3653.               behind the filename.
  3654.  
  3655.  
  3656.  
  3657.               4: Log clean files too.
  3658.  
  3659.               This places the information of all files being processed into
  3660.               the log file.
  3661.  
  3662.  
  3663.          Append to existing log.
  3664.  
  3665.          If you select this option, TbScan appends new information to the
  3666.          existing log file instead of overwriting it. If you use this option
  3667.          often, we recommended that you delete or truncate the log file once
  3668.          in a while to avoid unlimited growth.
  3669.  
  3670.          CAUTION:
  3671.               To create the log file, you must select the "Output to log
  3672.               file" option.
  3673.  
  3674.  
  3675.          No heuristic descriptions.
  3676.  
  3677.          If you enable this option, TbScan does not specify the descriptions
  3678.          of the heuristic flags in the log file. See Appendix B for the
  3679.          heuristic flag descriptions.
  3680.  
  3681.  
  3682.          Truename filenames.
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 62
  3690.  
  3691.  
  3692.  
  3693.          If this option is specified, TbScan uses 'truenames' rather than DOS
  3694.          filenames. If you process a file on a network, accessed by DOS as
  3695.          F:\USER\FILE.EXE then TbScan will use the fully expanded filename
  3696.          (like \\SERVER2\PUBLIC\USER\FILE.EXE) on the screen and in the log
  3697.          file.
  3698.  
  3699.  
  3700.     The "View Log File" Option
  3701.  
  3702.     If you activate one of the above log file options, you can then select
  3703.     this option to view and study the log. Otherwise, this option is not
  3704.     available.
  3705.  
  3706.     TIP:
  3707.          See the "Configuring TBAV" section in Chapter 1 for how you can
  3708.          specify your own file viewer using the "Configure TBAV, File view
  3709.          utility" command.
  3710.  
  3711.  
  3712.     3.2.3 Maximizing TbScan
  3713.  
  3714.     Now that you know how to use TbScan's menus, you can more easily
  3715.     understand the power of using it from the command line.
  3716.  
  3717.     When you run TbScan from the DOS command line, it recognizes command line
  3718.     options (often called "switches" in DOS terms). These options appear as
  3719.     "key-words" or "key-letters." The words are easier to memorize, so we
  3720.     will use these in this manual for convenience.
  3721.  
  3722.     When you run TbScan, it looks for a file named TBAV.INI in the TBAV
  3723.     directory.  If the keyword USEINI appears in the [TbScan] section of the
  3724.     TBAV.INI file, the other options listed in the [TbScan] section will be
  3725.     includede when you run TbScan from the command line.
  3726.  
  3727.     CAUTION:
  3728.          Be aware that if you specify options in the TBAV.INI file, you
  3729.          cannot undo them when you run TbScan from the command line.
  3730.  
  3731.     The following table lists the TbScan command line options:
  3732.  
  3733.          option parameter   short explanation
  3734.          ------------------ ----- ----------------------------------------
  3735.          help                 he  help
  3736.          pause                pa  enable  Pause  prompt
  3737.          mono                 mo  force monochrome output
  3738.          quick                qs  quick scan (use ANTI-VIR.DAT)
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 63
  3745.  
  3746.  
  3747.  
  3748.          allfiles             af  scan non-executables too
  3749.          alldrives            ad  scan all local non-removable drives
  3750.          allnet               an  scan all network drives
  3751.          heuristic            hr  enable heuristic alerts
  3752.          extract              ex  extract signatures (registered users only)
  3753.          once                 oo  scan only once a day
  3754.          slowscroll           ss  enable conventional (slow) scrolling
  3755.          secure               se  disable "user abort" (registered users
  3756.                                   only)
  3757.          compat               co  maximum compatibility mode
  3758.          ignofile             in  ignore  no-file  error
  3759.          largedir             ld  use large directory table
  3760.          fatcheck             fc  check the FAT for errors
  3761.          fatinfo              fi  display amount of fragmented files
  3762.          old                  ol  disable the "This program is old" message
  3763.          noboot               nb  skip boot sector check
  3764.          nofiles              nf  skip scanning of files
  3765.          nomem                nm  skip memory check
  3766.          hma                  hm  force HMA scan
  3767.          nohmem               nh  skip UMB/HMA scan
  3768.          nosub                ns  skip sub-directories
  3769.          noautohr             na  auto heuristic level adjust
  3770.          nowin                nw  do not scan for Windows-OS/2 viruses
  3771.          repeat               rp  scan multiple diskettes
  3772.          audio                aa  make noise if virus found
  3773.          batch                ba  batch mode - no user input
  3774.          delete               de  automatically delete infected files
  3775.          kill                 ki  automatically kill infected files
  3776.          truename             tn  use true name instead of DOS name
  3777.          log                  lo  output to log file
  3778.          append               ap  log file append mode
  3779.          expertlog            el  no heuristic descriptions in log
  3780.          logname=<filename>   ln  set path/name of log file
  3781.          loglevel=<0...4>     ll  set log level
  3782.          wait=<0...255>       wa  amount of timer-ticks to wait
  3783.          rename[=<text-mask>] rn  rename infected files
  3784.          exec=.<ext-mask>     ee  specify executable extensions
  3785.  
  3786.     The explanations in the above table serve as a quick reference, but the
  3787.     following descriptions provide more information about each option.
  3788.  
  3789.     TIP:
  3790.          Remember that you can display these options from the command line by
  3791.          entering TBSCAN ?.
  3792.  
  3793.          help (he).
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 64
  3800.  
  3801.  
  3802.  
  3803.          If you specify this option TbScan displays the help as listed above.
  3804.  
  3805.  
  3806.          pause (pa).
  3807.  
  3808.          When you specify the PAUSE option, TbScan stops after it checks the
  3809.          contents of one window. This enables you to examine the results
  3810.          without having to consult a log file later.
  3811.  
  3812.  
  3813.          mono (mo).
  3814.  
  3815.          This option prevents TbScan from using colors in the screen output.
  3816.          This might enhance the screen output on some LCD screens or
  3817.          color-emulating monochrome systems.
  3818.  
  3819.  
  3820.          quick (qs).
  3821.  
  3822.          This option instructs TbScan to use the ANTI-VIR.DAT files to check
  3823.          for file changes since the last scan. TbScan scans only those files
  3824.          that have changed (CRC change) or do not appear in ANTI-VIR.DAT. By
  3825.          default, TbScan always scans files.
  3826.  
  3827.  
  3828.          allfiles (af).
  3829.  
  3830.          If you specify this option, TbScan also scans non-executable files
  3831.          (that is, files without a .COM, .EXE, .SYS or .BIN extension). If
  3832.          TbScan finds that such a file does not contain executable code, it
  3833.          "skips" that file. Otherwise, TbScan searches the file for COM, EXE
  3834.          and SYS signatures. Be aware that TbScan does not perform heuristic
  3835.          analysis on non-executable files. Since viruses normally do not
  3836.          infect non-executable files, it is not necessary to scan them. We
  3837.          recommend, in fact, that you do not use this option unless you have
  3838.          a good reason to scan all files since a file infected with a virus
  3839.          must normally be executed before it can perform what it is
  3840.          programmed to do, and since you can't execute a non-executable file,
  3841.          a virus in such a file cannot do anything.  Some viruses write to
  3842.          non-executable files, but this is simply a result of "incorrect"
  3843.          programming or a specific  targeted  attack-- the result of which
  3844.          may be corrupted data, which will not likely harm other program or
  3845.          data files.
  3846.  
  3847.  
  3848.          alldrives (ad).
  3849.  
  3850.  
  3851.  
  3852.  
  3853.  
  3854.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 65
  3855.  
  3856.  
  3857.  
  3858.          This option instructs TbScan to scan all local non-removable disks.
  3859.  
  3860.  
  3861.          allnet (an).
  3862.  
  3863.          This option instructs TbScan to scan all network drives.
  3864.  
  3865.  
  3866.          heuristic (hr).
  3867.  
  3868.          While TbScan always performs a heuristic scan on the files being
  3869.          processed, if you select this option TbScan increases it's level of
  3870.          sensitivity. In this mode, TbScan detects 90% of the unknown viruses
  3871.          without any signatures. Be aware, however, that some false alarms
  3872.          might occur. See the "Understanding Heuristic Scanning" section
  3873.          later in this chapter for more information.
  3874.  
  3875.  
  3876.          extract (ex).
  3877.  
  3878.          This option is available to registered users only. See the "Using
  3879.          TbGenSig" section in Chapter 4 for more information.
  3880.  
  3881.  
  3882.          once (oo).
  3883.  
  3884.          If you specify this option, TbScan "remembers" whether it has run
  3885.          that day, and that if it has, it will not run again. In other words,
  3886.          this instructs TbScan to run only once a day, regardless of how many
  3887.          times you actually enter the command from the DOS prompt or a batch
  3888.          file. This command is very useful in your AUTOEXEC.BAT file, for
  3889.          example: TBSCAN @EVERYDAY.SCN ONCE RENAME. TbScan now scans the list
  3890.          of files and/or paths specified in the file EVERYDAY.SCN during the
  3891.          first boot-up of the day. If the systems boots more often that day,
  3892.          TbScan returns to the DOS prompt immediately. This option does not
  3893.          interfere with the regular use of TbScan. If you invoke TbScan
  3894.          without this option, it always runs, regardless of a previous run
  3895.          with the ONCE option set.
  3896.  
  3897.          NOTE:
  3898.               If TbScan cannot write to TBSCAN.EXE because it is flagged
  3899.               "read-only" or is located on a write-protected diskette, the
  3900.               ONCE option fails and the scanner executes without it.
  3901.  
  3902.  
  3903.          slowscroll (ss).
  3904.  
  3905.  
  3906.  
  3907.  
  3908.  
  3909.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 66
  3910.  
  3911.  
  3912.  
  3913.          If you specify this option, TbScan scrolls the files in the files
  3914.          window conventionally. This method is slower but looks more
  3915.          attractive.
  3916.  
  3917.  
  3918.          secure (se).
  3919.  
  3920.          This option is available to registered users only. If you use it, it
  3921.          is no longer possible to cancel TbScan by pressing Ctrl+Break, or to
  3922.          respond to a virus alert window.
  3923.  
  3924.  
  3925.          compat (co).
  3926.  
  3927.          If you select this option, TbScan attempts to be more compatible
  3928.          with your system. Use this option if the program does not behave as
  3929.          you would expect, or if it even halts the system. This option slows
  3930.          down the scanning process, so you should use it only if necessary.
  3931.          This option in no way affects the results of a scan.
  3932.  
  3933.  
  3934.  
  3935.          ignofile (in).
  3936.  
  3937.          If you specify this option and TbScan doesn't find any files, TbScan
  3938.          does not display the no files found  message, nor does it exit with
  3939.          ERRORLEVEL 1. You might use this option for automatic contents
  3940.          scanning.
  3941.  
  3942.  
  3943.          largedir (ld).
  3944.  
  3945.          If TbScan's directory table runs out of space, which is very
  3946.          unlikely, you can use this option to allocate a large directory
  3947.          table.
  3948.  
  3949.  
  3950.          fatcheck (fc).
  3951.  
  3952.          If this option is specified, and TbScan is able to use its internal
  3953.          file system, it will check the disk(s) for lost clusters, cross
  3954.          linked clusters, invalid cluster numbers, and invalid allocation
  3955.          sizes. These errors often indicate system problems and need to be
  3956.          corrected as soon as possible. Because TbScan  needs to read the FAT
  3957.          and all directories anyway, it can perform this important check
  3958.          without using additional time.
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 67
  3965.  
  3966.  
  3967.  
  3968.  
  3969.          fatinfo (fi).
  3970.  
  3971.          If this option is specified, TbScan displays the amount of
  3972.          fragmented files after it finished scanning. If the amount of
  3973.          fragmented files is high, you can increase the system performance by
  3974.          using a disk optimizer. This option can only be used in combination
  3975.          with option "fatcheck", and if TbScan is using its internal file
  3976.          system.
  3977.  
  3978.  
  3979.          old (ol).
  3980.  
  3981.          This option suppresses the message that appears if TbScan is 6
  3982.          months old.
  3983.  
  3984.  
  3985.          noboot (nb).
  3986.  
  3987.          If you specify this option, TbScan does not scan the boot sector.
  3988.  
  3989.  
  3990.          nofiles (nf).
  3991.  
  3992.          This option disables the scanning of files. This can be useful if
  3993.          you are the victim of a boot sector virus and want to scan a large
  3994.          stack of diskettes as fast as possible.
  3995.  
  3996.  
  3997.          nomem (nm).
  3998.  
  3999.          If you specify this option, TbScan does not scan memory.
  4000.  
  4001.  
  4002.  
  4003.          hma (hm).
  4004.  
  4005.          By default, TbScan automatically detects the presence of an
  4006.          XMS-driver and scans HMA. If you have an HMA-driver that is not
  4007.          compatible with the XMS standard, you can use this option to force
  4008.          TbScan to scan HMA.
  4009.  
  4010.  
  4011.          nohmem (nh).
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 68
  4020.  
  4021.  
  4022.  
  4023.          By default, TbScan identifies RAM beyond the DOS limit and scans it.
  4024.          This means that it scans video memory and the current EMS pages. You
  4025.          can, therefore, use this option to disable the scanning of non-DOS
  4026.          memory.
  4027.  
  4028.  
  4029.          nosub (ns).
  4030.  
  4031.          By default, TbScan searches sub-directories for executable files,
  4032.          unless you specify a filename (wildcards allowed). If you enable
  4033.          this option, TbScan does not scan sub-directories.
  4034.  
  4035.  
  4036.          noautohr (na).
  4037.  
  4038.          TbScan automatically adjusts the heuristic detection level after it
  4039.          locates a virus. In other words, when TbScan finds a virus, it
  4040.          continues as if you used the HEURISTIC option. This provides you
  4041.          maximum detection capabilities in case you need it, while keeping
  4042.          the amount of false alarms to a minimum. If you don't want this, you
  4043.          can specify option NOAUTOHR.
  4044.  
  4045.  
  4046.          nowin (nw).
  4047.  
  4048.          By default, TbScan scans Windows and OS/2 files for viruses.
  4049.          Removing the checkmark disables Windows and OS/2 file scanning.
  4050.  
  4051.  
  4052.          repeat (rp).
  4053.  
  4054.          This option is very useful if you want to check a large amount of
  4055.          diskettes. Instead of returning to DOS after checking a disk, TbScan
  4056.          prompts you to insert another disk in the drive.
  4057.  
  4058.  
  4059.          audio (aa).
  4060.  
  4061.          This enables an audible alarm sound when TbScan finds a virus.
  4062.  
  4063.  
  4064.          batch (ba).
  4065.  
  4066.          By enabling this option, TbScan scans without displaying any
  4067.          messages. If you use this option, we recommend that you use a log
  4068.          file (see the LOG option below).
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 69
  4075.  
  4076.  
  4077.  
  4078.  
  4079.          delete (de).
  4080.  
  4081.          By default, if TbScan detects a virus in a file, it prompts you to
  4082.          delete or rename the infected file, or to continue without action.
  4083.          If you specify this option, however, TbScan deletes the infected
  4084.          file automatically, without prompting you first. Use this option if
  4085.          you know there is a virus infection. Make sure that you have a clean
  4086.          backup, and that you really want to get rid of all infected files at
  4087.          once.
  4088.  
  4089.  
  4090.          kill (ki).
  4091.  
  4092.          By default, if TbScan detects a virus in a file it prompts you to
  4093.          delete or rename the infected file, or to continue without action.
  4094.          If you specify the DELETE option, TbScan deletes the infected file
  4095.          automatically, without prompting you first. Unlike the DELETE
  4096.          option, however, KILL prevents files from being undeleted. Be
  4097.          careful if you use this option. Make sure you have a clean backup!
  4098.  
  4099.  
  4100.          truename (tn).
  4101.  
  4102.          This option instructs TbScan to use "truenames" rather than DOS
  4103.          names. For example, if you process a file on a network that DOS
  4104.          accesses using the name F:\USER\FILE.EXE, TbScan uses the full name
  4105.          \\SERVER\PUBLIC\USER\FILE.EXE on the screen and in the log.
  4106.  
  4107.  
  4108.          log (lo).
  4109.  
  4110.          When you use this option, TbScan creates a log file. The log file
  4111.          lists all infected program files, specifying heuristic flags (see
  4112.          Appendix B) and complete pathnames.
  4113.  
  4114.  
  4115.          append (ap).
  4116.  
  4117.          If you use this option, TbScan appends new information to an
  4118.          existing log file rather than overwriting it. If you use this option
  4119.          often, we recommend that you delete or truncate the log file
  4120.          occasionally to avoid unlimited growth.
  4121.  
  4122.          NOTE:
  4123.               If you use this option, you must also use the LOG option.
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 70
  4130.  
  4131.  
  4132.  
  4133.  
  4134.          expertlog (el).
  4135.  
  4136.          If you enable this option, TbScan does not specify the descriptions
  4137.          of the heuristic flags in the log file. Appendix B lists the
  4138.          heuristic flag descriptions
  4139.  
  4140.  
  4141.          logname =<filename> (ln).
  4142.  
  4143.          Using this option, you can specify the name of the log file you want
  4144.          to use. TbScan creates the file in the current directory unless you
  4145.          specify a path and filename after selecting this option. If the log
  4146.          file already exists, TbScan overwrites it. If you want to print the
  4147.          results, you can specify a printer device name rather than a
  4148.          filename (for example, you can specify LOGNAME=LPT1).
  4149.  
  4150.          NOTE:
  4151.               If you use this option, you must also use the LOG option.
  4152.  
  4153.  
  4154.          loglevel =<0..4> (ll).
  4155.  
  4156.          These levels determine what kind of file information the log file
  4157.          stores. The default log level is 1, but you can select one of five
  4158.          log levels:
  4159.  
  4160.               0 : Log only infected files.
  4161.  
  4162.               This specifies that if there are no infected files, do not
  4163.               create or change the log file.
  4164.  
  4165.  
  4166.               1 : Log summary too.
  4167.  
  4168.               This places a summary and time stamp in the log file, and
  4169.               specifies that TbScan put only infected files in the log file.
  4170.  
  4171.  
  4172.               2 : Log suspected too.
  4173.  
  4174.               This is almost the same as level 1, but TbScan also logs
  4175.               "suspected files," files that would trigger the heuristic alarm
  4176.               if you specify the "High heuristic" sensitivity  option.
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 71
  4185.  
  4186.  
  4187.  
  4188.               3 : Log all warnings too.
  4189.  
  4190.               This level is an extension of the previous level. It specifies
  4191.               that TbScan log all files that have a warning character printed
  4192.               behind the filename.
  4193.  
  4194.  
  4195.               4 : Log clean files too.
  4196.  
  4197.               This places the information of all files being processed into
  4198.               the log file.
  4199.  
  4200.               NOTE:
  4201.                    If you use this option, you must also use the LOG option.
  4202.  
  4203.  
  4204.          wait =<0..255> (wa).
  4205.  
  4206.          Use this option to delay TbScan. This might be handy if you want to
  4207.          scan a very busy network but don't want to occupy the network too
  4208.          heavily. You have to specify the amount of timer ticks you want to
  4209.          insert between scanned files.
  4210.  
  4211.  
  4212.          rename [=<text-mask>] (rn).
  4213.  
  4214.          By default, if TbScan detects a file virus, it prompts you to delete
  4215.          or rename the infected file, or to continue without action. If you
  4216.          select this option, TbScan renames the infected file automatically,
  4217.          without prompting you first. Also by default, TbScan replaces the
  4218.          first character of the file extension with the character 'V.' It
  4219.          renames an .EXE file to .VXE, for example, and a .COM file to .VOM.
  4220.          This prevents the execution of infected programs  and thereby
  4221.          prevents spreading the infection. This option also enables you to
  4222.          keep the infected files for later examination and repair. You can
  4223.          also add a parameter to this option specifying the target extension.
  4224.          This parameter should always contain three characters; you can use
  4225.          question marks. The default target extension is "V??."
  4226.  
  4227.  
  4228.          exec =.<ext-mask> (ee).
  4229.  
  4230.          Using this option you can add filename extensions that indicate what
  4231.          files are executable. If you want to use this option, you probably
  4232.          want to put it in the configuration file. Refer to the  "Advanced
  4233.  
  4234.  
  4235.  
  4236.  
  4237.  
  4238.  
  4239.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 72
  4240.  
  4241.  
  4242.  
  4243.          Options" Option section earlier in this chapter for an explanation
  4244.          of configuring executable extensions.
  4245.  
  4246.  
  4247.     Here are a few examples using TbScan from the DOS command line.
  4248.  
  4249.          1. This command:
  4250.  
  4251.             TBSCAN C:\ NOBOOT
  4252.  
  4253.          scans all executable files in the root directory and its
  4254.          subdirectories and skips the boot sector scan.
  4255.  
  4256.  
  4257.          2. This command:
  4258.  
  4259.             TBSCAN \*.*
  4260.  
  4261.          scans all files in the root directory but does not process
  4262.          subdirectories.
  4263.  
  4264.  
  4265.          3. This command:
  4266.  
  4267.             TBSCAN C:\ LOG LOGNAME=C:\TEST.LOG LOGLEVEL=2
  4268.  
  4269.          scans all executable files on drive C: and creates a LOG file named
  4270.          C:\TEST.LOG that contains all infected and suspected files.
  4271.  
  4272.  
  4273.          4. This command:
  4274.  
  4275.             TBSCAN \ LOG LOGNAME=LPT1
  4276.  
  4277.          scans the root directory and its subdirectories and then redirects
  4278.          the results to the printer instead of a log file.
  4279.  
  4280.  
  4281.     3.2.4 Understanding the Scanning Process
  4282.  
  4283.  
  4284.     This section adds to your knowledge of TbScan by explaining a little more
  4285.     about the scanning process. TbScan starts scanning immediately whenever
  4286.     you run it from the DOS command line or select the  Start Scanning
  4287.     option in the TbScan Menu. As TbScan begins its scan, your screen will
  4288.     look similar to the following:
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 73
  4295.  
  4296.  
  4297.  
  4298.     TbScan divides the screen into three windows: an information window (at
  4299.     the top), a scanning window (the bottom-left window) and a status window
  4300.     (to the right of the scanning window). The information window initially
  4301.     displays the vendor information only.
  4302.  
  4303.        +-----------------------------------------------------------------+
  4304.        |Thunderbyte virus detector         (C) 1989-95, Thunderbyte B.V. |
  4305.        |                                                                 |
  4306.        | TBAV is upgraded every two months. Free hotline support is      |
  4307.        | provided for all registered users via telephone, fax and        |
  4308.        | electronic bulletin board. Read the comprehensive documentation |
  4309.        | files for detailed info.                                        |
  4310.        |                                                                 |
  4311.        | C:\DOS\                                                         |
  4312.        |                                                                 |
  4313.        | ANSI.SYS      scanning..>        OK    signatures:        986   |
  4314.        | COUNTRY.SYS   skipping..>        OK                             |
  4315.        | DISKCOPY.COM  tracing...>        OK    file system:       OWN   |
  4316.        | DISPLAY.SYS   scanning..>        OK                             |
  4317.        | DRIVER.SYS    scanning..>        OK    directories:        01   |
  4318.        | EGA.CPI       skipping..>        OK    total files:        17   |
  4319.        | FASTOPEN.EXE  looking...>        OK    executables:        12   |
  4320.        | FDISK.EXE     looking...>        OK    CRC verified:       10   |
  4321.        | FORMAT.COM    tracing...>   E    OK    changed files:      00   |
  4322.        | GRAFTABL.COM  tracing...>        OK    infected items:     00   |
  4323.        | GRAPHICS.COM  tracing...>        OK                             |
  4324.        | GRAPHICS.PRO  skipping..>        OK    elapsed time:    00:05   |
  4325.        |                                        Kb /second:        57    |
  4326.        +-----------------------------------------------------------------+
  4327.  
  4328.     If TbScan detects infected files, it displays the names of the file and
  4329.     the virus in the upper window. The lower left window displays the names
  4330.     of the files being processed, the algorithm in use, information and
  4331.     heuristic flags, and finally an OK statement or the name of the virus
  4332.     detected.
  4333.  
  4334.     Notice the following example:
  4335.  
  4336.          NLSFUNC.EXE     checking..>    FU          OK
  4337.             |              |            |           |
  4338.             |              |            |           result of scan
  4339.             |              |            heuristic flags
  4340.             |              algorithm being used to process file
  4341.             name of file in process
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 74
  4350.  
  4351.  
  4352.  
  4353.     You will see comments following each file name, such as: "looking,"
  4354.     "checking," "tracing," "scanning," or "skipping." These refer to the
  4355.     various algorithms being used to scan files.
  4356.  
  4357.     Other comments that TbScan displays here are the heuristic flags. Consult
  4358.     the  Understanding Heuristic Flags  section later in this chapter and
  4359.     Appendix B for more information on these warning characters.
  4360.  
  4361.     The lower right window is the status window. It displays the number of
  4362.     files and directories encountered as well as the number of viruses found.
  4363.     It also displays which file system is being used: either  DOS  or  OWN.
  4364.     The latter means that TbScan is able to bypass DOS. If this is the case,
  4365.     TbScan reads all files directly from disk for extra security and speed.
  4366.  
  4367.     You can abort the scanning process by pressing the two keys Ctrl+Break
  4368.     simultaneously (that is, if you didn't specify the "SECURE" option).
  4369.  
  4370.     When TbScan detects an infected program, it displays the name of the
  4371.     virus. If you did not specify the BATCH, RENAME or DELETE options, TbScan
  4372.     prompts you to specify the appropriate action. If you choose to rename
  4373.     the file, TbScan replaces the first character of the file extension with
  4374.     the character 'V.' This prevents you or someone else from accidentally
  4375.     executing the file before you can investigate it more thoroughly.
  4376.  
  4377.     If TbScan detects an infected file, it displays one of the following
  4378.     messages:
  4379.  
  4380.          [Name of file] is infected by [name of virus] virus.
  4381.  
  4382.          The file is infected by the virus mentioned.
  4383.  
  4384.  
  4385.          [Name of file] is Joke named [name of Joke].
  4386.  
  4387.          Some programs simulate that the system is infected by a virus; such
  4388.          a program is a "joke." A joke is completely harmless; however it
  4389.          causes confusion and might cause people to stop using the computer,
  4390.          and should therefore be removed..
  4391.  
  4392.  
  4393.          [Name of file] is Trojan named [name of Trojan].
  4394.  
  4395.          The file is a Trojan Horse. A Trojan Horse is a program that
  4396.          pretends to be a harmless program (like a game) but it is designed
  4397.          to do something harmful like erasing a disk. Some Trojan Horses also
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 75
  4405.  
  4406.  
  4407.  
  4408.          install viruses on your system. Do not execute the program, but
  4409.          delete it instead.
  4410.  
  4411.  
  4412.          [Name of file] damaged by [name of virus].
  4413.  
  4414.          Unlike an infected file, which carries the virus itself, a damaged
  4415.          file has only been damaged by the virus.
  4416.  
  4417.  
  4418.          [Name of file] dropper of [name of virus].
  4419.  
  4420.          A "dropper" is a program that has not been infected itself, but
  4421.          which does contain a boot sector virus and is able to install it
  4422.          into your boot sector.
  4423.  
  4424.  
  4425.          [Name of file] garbage: (not a virus) [name of garbage].
  4426.  
  4427.          A "garbage" program is a file that does not work because it is badly
  4428.          damaged or may have been overwritten with "garbage."  Some virus
  4429.          collections (i.e. a CD-ROM based virus collection) contain
  4430.          "garbage-like" program code that was designed specifically to
  4431.          trigger virus detection programs (and fool them), which is exactly
  4432.          why ThunderBYTE identifies them as "garbage."
  4433.  
  4434.     It is also possible for TbScan to encounter a file that appears infected
  4435.     by a virus, although it could not find a signature. In this case TbScan
  4436.     displays the prefix "Probably" before the message.
  4437.  
  4438.     If TbScan finds a file to be suspicious and displays a virus alert
  4439.     window, you can avoid future false alarms by pressing V (Validate
  4440.     program). Note that this works only if there is an ANTI-VIR.DAT record of
  4441.     the file available. Once TbScan validates a program, the program is no
  4442.     longer subject to heuristic analysis, unless the program changes and no
  4443.     longer matches the ANTI-VIR.DAT record. This will be the case if such a
  4444.     file becomes infected at a later time. In such a case, TbScan still
  4445.     reports infections on these files.
  4446.  
  4447.     NOTE:
  4448.          Be aware that a validated program is still subject to the
  4449.          conventional signature scanning.
  4450.  
  4451.     If you specify the HEURISTIC or the HIGH HEURISTIC SENSITIVITY option, it
  4452.     is likely that TbScan will find some files that look like a virus. In
  4453.  
  4454.  
  4455.  
  4456.  
  4457.  
  4458.  
  4459.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 76
  4460.  
  4461.  
  4462.  
  4463.     this case, TbScan uses the prefix "Might be" to inform you about it. So,
  4464.     if TbScan displays:
  4465.  
  4466.          [Name of file] Probably infected by an unknown virus
  4467.  
  4468.     or:
  4469.  
  4470.          [Name of file] Might be infected by an unknown virus
  4471.  
  4472.          it does not necessarily mean that the file is infected. There are a
  4473.          lot of files that look like a virus but are not.
  4474.  
  4475.     It is extremely important to understand that false alarms are part of the
  4476.     nature of heuristic scanning. In its default mode, it is very unlikely
  4477.     that TbScan will issue a false alarm.  If you specify the HEURISTIC
  4478.     option, however, some false alarms might occur.
  4479.  
  4480.     How should you deal with false alarms? If TbScan thinks it has found a
  4481.     virus, it tells you the reason for this suspicion. In most cases you will
  4482.     be able to evaluate these reasons when you consider the purpose of the
  4483.     suspected file.
  4484.  
  4485.     NOTE:
  4486.          Viruses infect other programs. It is, therefore, unlikely that you
  4487.          will find only a few infected files on a hard disk you use
  4488.          frequently. You should ignore the result of a heuristic scan if only
  4489.          a few programs on your hard disk trigger it. If, on the other hand,
  4490.          your system behaves "strangely" and several programs trigger the
  4491.          TbScan alarm with the same serious flags, your system
  4492.          could very well be infected by a (yet unknown) virus.
  4493.  
  4494.  
  4495.     3.2.5 Understanding Heuristic Flags
  4496.  
  4497.     Heuristic flags consist of single characters that appear behind the name
  4498.     of the file that just scanned. There are two kinds of flags: the
  4499.     informative ones, which appear in lower-case characters, and the more
  4500.     serious flags, which appear in upper-case characters.
  4501.  
  4502.     The lower-case flags indicate special characteristics of the file being
  4503.     scanned, whereas the upper-case warnings might indicate a virus. If the
  4504.     loglevel  is 3 or above, the important warnings not only appear as a
  4505.     warning character, but TbScan also adds a description to the log file.
  4506.  
  4507.     How should you treat the flags? You can consider the less important
  4508.     lower-case flags to be informational only; they provide file information
  4509.  
  4510.  
  4511.  
  4512.  
  4513.  
  4514.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 77
  4515.  
  4516.  
  4517.  
  4518.     you might find interesting. The more serious uppercase warning flags
  4519.     MIGHT (we repeat, MIGHT) indicate a virus. It is quite normal that you
  4520.     have some files in your system that trigger an uppercase flag.
  4521.  
  4522.     NOTE:
  4523.          Appendix B lists the heuristic flag descriptions.
  4524.  
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 78
  4570.  
  4571.  
  4572.  
  4573.  
  4574.     3.3 Using TbDriver
  4575.  
  4576.     TbDriver is a small memory-resident (TSR) program that you must load
  4577.     before any of the other TBAV memory-resident utilities. This brief
  4578.     section explains the use of TbDriver.
  4579.  
  4580.  
  4581.     3.3.1 Understanding TbDriver
  4582.  
  4583.     By itself, TbDriver does not provide much protection against viruses,
  4584.     rather its use is to enable the memory resident ThunderBYTE Anti-Virus
  4585.     utilities, such as TbScanX, TbCheck, TbMem, TbFile, and TbDisk, to
  4586.     perform properly. It is the source for some of the routines these
  4587.     utilities have in common, including: support to generate the pop-up
  4588.     window routines, driving the translation unit that enables the
  4589.     possibility of displaying messages in your native language, and support
  4590.     for networks. Additionally, TbDriver also contains basic protection
  4591.     against "stealth" viruses and against "ANSI bombs."
  4592.  
  4593.     NOTE:
  4594.          See the NOFILTER option below for an explanation of an ANSI bomb.
  4595.  
  4596.  
  4597.     3.3.2 Working with TbDriver
  4598.  
  4599.     You must load TbDriver before loading any of the other memory-resident
  4600.     TBAV utilities. If you ran the TBAV Install program, TbDriver is already
  4601.     set up to load automatically when you boot. Your AUTOEXEC.BAT file calls
  4602.     the TBSTART.BAT file, which in turn loads TbDriver.
  4603.  
  4604.     If you prefer, you can load TbDriver directly from the command line or
  4605.     from an individual line in AUTOEXEC.BAT by using this command:
  4606.  
  4607.             <PATH>TBDRIVER
  4608.  
  4609.     If TbDriver resides in the TBAV directory on drive C:, for example, you
  4610.     could enter C:\TBAV\TBDRIVER.
  4611.  
  4612.     An even more secure way to load TbDriver, and the other TBAV
  4613.     memory-resident utilities (which we ll examine in more detail in the
  4614.     Using TbScanX  section later in this chapter), is to load it via the
  4615.     CONFIG.SYS file. After removing the call to TBSTART.BAT in AUTOEXEC.BAT,
  4616.     you could put the following command in CONFIG.SYS:
  4617.  
  4618.             DEVICE=<PATH>TBDRIVER.EXE
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 79
  4625.  
  4626.  
  4627.  
  4628.     If TbDriver resides in the TBAV directory on drive C:, for example, you
  4629.     could enter DEVICE=C:\TBAV\TBDRIVER.EXE.
  4630.  
  4631.     TIP:
  4632.          If you want protection against ANSI-bombs, you should load TbDriver
  4633.          AFTER the ANSI.SYS driver. Also, if you install TbDriver on a
  4634.          machine that boots from a boot ROM, specify the message file with
  4635.          the drive and path where it resides AFTER the machine boots. The
  4636.          default message file will no longer be accessible after the machine
  4637.          boots.
  4638.  
  4639.  
  4640.     3.3.3 Maximizing TbDriver
  4641.     This section describes how to use TbDriver's option to maximize its
  4642.     performance and how to get foreign language support for the TBAV
  4643.     utilities.
  4644.  
  4645.     When you run TbDriver from the DOS command line, it recognizes command
  4646.     line options (often called "switches" in DOS terms). These options appear
  4647.     as "key-words" or "key-letters." The words are easier to memorize, so we
  4648.     will use these in this manual for convenience.
  4649.  
  4650.     TbDriver enables you to specify loading options on the command line. It
  4651.     treats a filename specification as a language file specification (see the
  4652.     following "Getting Language Support" section).
  4653.  
  4654.     The first three options in the following table are always available. The
  4655.     other options are available only if TbDriver is not already memory
  4656.     resident. The command-line syntax is as follows:
  4657.  
  4658.             TBDRIVER [<PATH>][<FILENAME>]... [<OPTIONS>]...
  4659.  
  4660.     TbDriver recognizes the following options:
  4661.  
  4662.  
  4663.  
  4664.  
  4665.  
  4666.  
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 80
  4680.  
  4681.  
  4682.  
  4683.          option parameter   short explanation
  4684.          ------------------ ----- -----------
  4685.          help                ?    help
  4686.          net                 n    force LAN support
  4687.          remove              r    remove TbDriver from memory
  4688.          mode=<m|c>          m    override video mode (mono|color)
  4689.          freeze              j    freeze the machine after an alert
  4690.          lcd                 l    enhance output on LCD screens
  4691.          noavok=<drives>     o    assume permission for specified drives when
  4692.                                   ANTI-VIR.DAT record is missing
  4693.          quiet               q    do not display activity
  4694.          secure              s    do not allow permission updates
  4695.          notunnel            t    do not detect tunneling
  4696.          nofilter            f    do not filter dangerous ANSI codes
  4697.          nostack             ns   do not install a stack
  4698.  
  4699.     The explanations in the above table serve as a quick reference, but the
  4700.     following descriptions provide more information about each option.
  4701.  
  4702.     TIP:
  4703.          Remember that you can display these options from the command line by
  4704.          entering TBDRIVER ?.
  4705.  
  4706.          help (?).
  4707.  
  4708.          If you specify this option, TbDriver shows you the valid command
  4709.          line options as listed above.
  4710.  
  4711.  
  4712.          net (n).
  4713.  
  4714.          TbDriver cooperates well with most networks. In normal situations
  4715.          you will not need the NET option at all. You should use it only if
  4716.          both the following conditions are true at the same time:
  4717.  
  4718.               1. You make a connection to a Novell network and TBDRIVER.EXE
  4719.               before using the logon command.
  4720.  
  4721.               2. There is no valid ANTI-VIR.DAT record in the directory where
  4722.               the NET?.COM program resides or after renaming the NET?.COM
  4723.               file.
  4724.  
  4725.  
  4726.          remove (r).
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 81
  4735.  
  4736.  
  4737.  
  4738.          This option disables TbDriver and attempts to remove the resident
  4739.          part of its code from memory and return this memory space to the
  4740.          system.
  4741.  
  4742.          Unfortunately, this works only if you loaded TbDriver last. An
  4743.          attempt to remove a TSR after you load another TSR leaves a useless
  4744.          gap in memory and could disrupt the interrupt chain. TbDriver checks
  4745.          whether it is safe to remove its resident code; if not, it simply
  4746.          disables itself.
  4747.  
  4748.  
  4749.          mode (m).
  4750.  
  4751.          On dual video systems TbDriver uses the currently active screen. It
  4752.          might be forced to use the alternate screen with the MODE=M option
  4753.          for monochrome or the MODE=C option for color systems.
  4754.  
  4755.  
  4756.          lcd (l).
  4757.  
  4758.          This option enhances the output on LCD screens.
  4759.  
  4760.  
  4761.          freeze (f).
  4762.  
  4763.          This option freezes the computer when there is a virus alert.
  4764.  
  4765.  
  4766.          noavok (o).
  4767.  
  4768.          We don't recommend this option for normal use. You might need it to
  4769.          grant permission automatically for programs without an ANTI-VIR.DAT
  4770.          record. The option requires a parameter specifying the drives to
  4771.          which the default permission applies. If, for example, you do not
  4772.          want TbMem to display a message when a TSR without ANTI-VIR.DAT
  4773.          executes from drive E: and F:, you could specify NOAVOK=EF on the
  4774.          TbDriver command line. Additionally, if you want to exclude network
  4775.          drives, you should use an asterisk [*]. For example, if you want to
  4776.          grant permission for all files without ANTI-VIR.DAT records on drive
  4777.          A:, your ram disk F: and your remote network drives, specify
  4778.          NOAVOK=AF*.
  4779.  
  4780.  
  4781.          quiet (q).
  4782.  
  4783.  
  4784.  
  4785.  
  4786.  
  4787.  
  4788.  
  4789.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 82
  4790.  
  4791.  
  4792.  
  4793.          Some resident TBAV utilities display an activity status. TbScanX,
  4794.          for instance, displays a rectangle with the word  Scanning  in the
  4795.          upper left corner of your screen while scanning a file. The QUIET
  4796.          option disables this message.
  4797.  
  4798.  
  4799.          secure (s).
  4800.  
  4801.          Some ThunderBYTE utilities can store permission flags in the
  4802.          ANTI-VIR.DAT files. You can use this option if you don't want these
  4803.          flags changed. It has no effect on flags already set, so you can use
  4804.          the option after installing new programs or packages.
  4805.  
  4806.          notunnel (t).
  4807.  
  4808.          "Tunneling" is a technique viruses apply to determine the location
  4809.          of the DOS system code in memory, and to use that address to
  4810.          communicate with DOS directly. This inactivates all TSR programs,
  4811.          including resident anti-virus software. TbDriver is able to detect
  4812.          these  tunneling  attempts, and informs you about it. Some other
  4813.          anti-virus products also rely on tunneling techniques to bypass
  4814.          resident viruses, thereby causing false alarms. If you are currently
  4815.          executing other anti-viral products, the NOTUNNEL option disables
  4816.          TbDriver's tunneling detection.
  4817.  
  4818.  
  4819.          nofilter (f).
  4820.  
  4821.          The original ANSI driver has a feature to assign text strings to
  4822.          keys. Years ago people used this feature, for example, to assign the
  4823.          DIR /W command to the F10 key. Such reprogramming can be done simply
  4824.          by embedded ANSI codes in batch files. Almost no one uses this
  4825.          feature nowadays. Some misguided people, however, use this feature,
  4826.          for example, to make a text file that reprograms the Enter key to
  4827.          execute the DEL *.* command or something even worse. Such a file is
  4828.          an "ANSI-bomb." TbDriver protects you against ANSI-bombs by
  4829.          filtering out the keyboard reprogramming codes. All other ANSI codes
  4830.          pass without interference. If you don't want this protection, or if
  4831.          you want to use this obsolete ANSI feature, you can use the NOFILTER
  4832.          option.
  4833.  
  4834.  
  4835.          nostack (ns).
  4836.  
  4837.          By default, TbDriver maintains a stack for the resident TBAV
  4838.          utilities. For most systems, however, this isn't necessary. If you
  4839.  
  4840.  
  4841.  
  4842.  
  4843.  
  4844.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 83
  4845.  
  4846.  
  4847.  
  4848.          use this option, TbDriver uses the application stack, saving a few
  4849.          hundred bytes of memory. If the system hangs or becomes unstable,
  4850.          however, discontinue use of this option.
  4851.  
  4852.     You can use the optional filename specification to direct TbDriver to the
  4853.     location of the language file you want to use. TbDriver retrieves pop-up
  4854.     window messages from a TBDRIVER.LNG file, which it expects to find in its
  4855.     own home directory. The default English language file is TBDRIVER.LNG,
  4856.     which you can replace with a file in your local language. You can order
  4857.     separate language support packages at your local ThunderBYTE dealer, or
  4858.     download the language file from a ThunderBYTE support BBS. See the
  4859.     Maintaining the System  section in Chapter 1 for more information about
  4860.     the ThunderBYTE support BBS.
  4861.  
  4862.     To load a language file, either rename it to the default (TBDRIVER.LNG),
  4863.     or specify the full path and filename following the command. You can also
  4864.     switch to another language by calling TbDriver again with a different
  4865.     message file. This will not take up any extra memory.
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.  
  4892.  
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.  
  4899.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 84
  4900.  
  4901.  
  4902.  
  4903.  
  4904.     3.4 Using TbScanX
  4905.  
  4906.     TbScanX is virtually identical to TbScan, with one important difference:
  4907.     TbScan is memory-resident. This section describes TbScanX in detail.
  4908.  
  4909.  
  4910.     3.4.1 Understanding TbScanX
  4911.  
  4912.     To implement real-time or on-the-fly virus protection, the TBAV for DOS
  4913.     utilities include the TbScanX program, a memory-resident (TSR) program
  4914.     that tracks all file operations. If you copy an infected file from a
  4915.     diskette to your hard disk, for example, TbScanX recognizes the virus
  4916.     hidden in the file and informs you about it, BEFORE the virus becomes
  4917.     active.
  4918.  
  4919.     Why use TbScanX? Let's assume you have a virus scanner that automatically
  4920.     runs from your AUTOEXEC.BAT file. If it doesn't find any viruses, your
  4921.     system should be uninfected. Right? Not necessarily. To be sure that no
  4922.     virus infects your system, you need to execute the scanner every time you
  4923.     copy a file to your hard disk, after downloading a file from a bulletin
  4924.     board system, or after unarchiving an archive such as a ZIP file. Now be
  4925.     honest, do YOU invoke your scanner every time you introduce a new file
  4926.     into the system? If you don t, you take the risk that within a couple of
  4927.     hours all files will become infected by a virus.
  4928.  
  4929.     Once you load TbScanX, it remains resident in memory and automatically
  4930.     scans all files you execute and all executable files you copy, create,
  4931.     download, modify, or unarchive. It uses the same approach to protect
  4932.     against boot sector viruses; every time you put a diskette into a drive,
  4933.     TbScanX scans the boot sector. If the disk is contaminated with a boot
  4934.     sector virus, TbScanX warns you in time!
  4935.  
  4936.     NOTE:
  4937.          TbScanX is fully network compatible. It does not require you to
  4938.          reload the scanner after logging onto the network.
  4939.  
  4940.  
  4941.     3.4.2 Working with TbScanX
  4942.  
  4943.     Since TbScanX is memory resident, you can execute and configure the
  4944.     program from the command line or from within a batch file. It is
  4945.     important to load TbScanX as early as possible after the machine boots.
  4946.     We therefore recommend that you execute TbScanX from within the
  4947.     CONFIG.SYS file.
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 85
  4955.  
  4956.  
  4957.  
  4958.     CAUTION:
  4959.          TbScanX requires that you load TbDriver first! See the previous
  4960.          section on "Using TbDriver" for details.
  4961.  
  4962.     There are three possible ways to load TbScanX:
  4963.  
  4964.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  4965.  
  4966.             <PATH>TBSCANX
  4967.  
  4968.          2. From the CONFIG.SYS files as a TSR (DOS 4+ and above):
  4969.  
  4970.             INSTALL=<PATH>TBSCANX.EXE
  4971.  
  4972.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  4973.  
  4974.          3. From the CONFIG.SYS as a device driver:
  4975.  
  4976.             DEVICE=<PATH>TBSCANX.EXE
  4977.  
  4978.          NOTE:
  4979.               Using TbScanX as a device driver does not work in all OEM
  4980.               versions of DOS. If it does not work, use the INSTALL= command
  4981.               or load TbScanX from within the AUTOEXEC.BAT. TbScanX should
  4982.               always work correctly if you run it from AUTOEXEC.BAT.
  4983.  
  4984.     Unlike other anti-virus products, you can load the ThunderBYTE Anti-Virus
  4985.     Utilities before starting a network without losing the protection
  4986.     afterwards.
  4987.  
  4988.     In addition to the three loading possibilities, you can also load TbScanX
  4989.     into an available UMB (upper memory block) if you are using DOS version 5
  4990.     or higher. To accomplish this from AUTOEXEC.BAT, use the following
  4991.     command:
  4992.  
  4993.             LOADHIGH <PATH>TBSCANX
  4994.  
  4995.     Alternately, to accomplish this from CONFIG.SYS, use the following
  4996.     command:
  4997.  
  4998.             DEVICEHIGH=<PATH>TBSCANX.EXE
  4999.  
  5000.  
  5001.     If you are using Microsoft Windows, you should load TbScanX BEFORE
  5002.     starting Windows. When you do this, there is only one copy of TbScanX in
  5003.     memory regardless of how many DOS windows you might open. Every DOS
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 86
  5010.  
  5011.  
  5012.  
  5013.     window (that is, every  virtual machine ) has a fully functional copy of
  5014.     TbScanX running in it.
  5015.  
  5016.     TbScanX automatically detects if Windows is running, and switches itself
  5017.     in multitasking mode if necessary. You can even disable TbScanX in one
  5018.     window without affecting the functionality in another window.
  5019.  
  5020.     NOTE:
  5021.          TBAV for Windows includes a full-featured resident scanner. Please
  5022.          refer to the TBAV for Windows documentation for more information.
  5023.  
  5024.  
  5025.     3.4.3 Maximizing TbScanX
  5026.  
  5027.     When you run TbScanX from the DOS command line, it recognizes command
  5028.     line options (often called "switches" in DOS terms). These options appear
  5029.     as "key-words" or "key-letters." The words are easier to memorize, so we
  5030.     will use these in this manual for convenience.
  5031.  
  5032.     You can maximize TbScanX's performance by using one or more command line
  5033.     options. The first four options in the following table are always
  5034.     available. The other options are available only if TbScanX is not already
  5035.     resident in memory.
  5036.  
  5037.          option parameter   short explanation
  5038.          ------------------ ----- ----------------------------------------
  5039.          help                ?    display on-line help
  5040.          off                 d    disable scanning
  5041.          on                  e    enable scanning
  5042.          remove              r    remove TbScanX from memory
  5043.          noexec              n    never scan at execute
  5044.          allexec[=<drives>]  a    always scan at execute
  5045.          noboot              b    do not scan boot sectors
  5046.          wild                w    only search viruses which appear "in the
  5047.                                   wild"
  5048.          ems                 me   use expanded memory (EMS)
  5049.          xms                 mx   use extended memory (XMS)
  5050.          secure              s    deny all suspicious operations
  5051.          lock                l    lock PC when a virus is detected
  5052.          api                 i    load TbScanX's Application Program
  5053.                                   Interface
  5054.          compat              c    increase compatibility
  5055.  
  5056.     The explanations in the above table serve as a quick reference, but the
  5057.     following descriptions provide more information about each option.
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 87
  5065.  
  5066.  
  5067.  
  5068.     TIP:
  5069.          Remember that you can display these options from the command line by
  5070.          entering TBSCANX ?.
  5071.  
  5072.          help (?).
  5073.  
  5074.          This option displays the command line options as shown above. Once
  5075.          you load TbScanX, however, this option does not display all the
  5076.          options.
  5077.  
  5078.  
  5079.          off (d).
  5080.  
  5081.          This option disables TbScanX, but leaves it in memory.
  5082.  
  5083.  
  5084.          on (e).
  5085.  
  5086.          This option re-enables TbScanX after you disable it with the OFF
  5087.          option.
  5088.  
  5089.  
  5090.          remove (r).
  5091.  
  5092.          This option disables TbScanX and attempts to remove the resident
  5093.          part of its code from memory and return this memory space to the
  5094.          system.  Unfortunately, this works only if you loaded TbScanX last.
  5095.          An attempt to remove a TSR after you load another TSR leaves a
  5096.          useless gap in memory and could disrupt the interrupt chain. TbScanX
  5097.          checks whether it is safe to remove its resident code; if not, it
  5098.          simply disables itself.
  5099.  
  5100.  
  5101.          noexec (n).
  5102.  
  5103.          TbScanX normally scans files located on removable media just before
  5104.          they execute. You can use this option to disable this feature
  5105.          completely.
  5106.  
  5107.  
  5108.          allexec (a).
  5109.  
  5110.          TbScanX normally scans executable files only if they reside on
  5111.          removable media. It "trusts" files on the hard disk, since these
  5112.          files must have been copied or downloaded before, and since by this
  5113.          time TbScanX has already scanned them automatically. If you want to
  5114.  
  5115.  
  5116.  
  5117.  
  5118.  
  5119.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 88
  5120.  
  5121.  
  5122.  
  5123.          scan every file before it executes, however, regardless of whether
  5124.          it is on the hard disk or removable media, you should use this
  5125.          option. It is possible to explicitly specify drives from which you
  5126.          want executed files to be scanned. For example, if you specify
  5127.          option ALLEXEC=DF, then TbScanX will only scan files being executed
  5128.          that reside on either drive D: or drive F:.
  5129.  
  5130.  
  5131.          noboot (b).
  5132.  
  5133.          TbScanX automatically monitors the disk system. Every time DOS reads
  5134.          the boot sector, TbScanX scans the disk for boot sector viruses. If
  5135.          you change a disk, DOS first reads the boot sector; otherwise it
  5136.          does not know what kind of disk is in the drive. As soon as DOS
  5137.          reads the boot sector, TbScanX checks it for viruses. If you don't
  5138.          like this feature, or if it causes problems, you can switch it off
  5139.          using the NOBOOT option.
  5140.  
  5141.  
  5142.          wild (w).
  5143.  
  5144.          TbScanX can distinguish viruses that do not appear "in the wild"
  5145.          from frequently appearing viruses. In order to reduce the memory
  5146.          requirements of TbScanX, you can specify option WILD, which makes
  5147.          TbScanX load and use the viruses signatures from viruses that
  5148.          frequently appear "in the wild." This option is disabled by default.
  5149.  
  5150.  
  5151.          ems (me).
  5152.  
  5153.          If you specify this option, TbScanX uses expanded memory (such as
  5154.          that provided by the LIM/EMS expansion boards or 80386 memory
  5155.          managers) to store the signatures and part of its program code.
  5156.          Since conventional memory is more valuable to your programs than
  5157.          expanded memory, we recommend the use of EMS memory. TbScanX can use
  5158.          up to 64Kb of EMS memory. (Refer to the XMS option also.)
  5159.  
  5160.          xms (mx).
  5161.  
  5162.          If you specify this option TbScanX uses extended memory to store the
  5163.          signatures and part of its program code. An XMS driver (such as
  5164.          DOS's HIMEM.SYS) must be installed to be able to use this option.
  5165.          XMS memory is not directly accessible from within DOS, so every time
  5166.          TbScanX has to scan data it has to copy the signatures to
  5167.          conventional memory. To be able to save the original memory
  5168.          contents, TbScanX needs a double amount of XMS memory. Swapping to
  5169.  
  5170.  
  5171.  
  5172.  
  5173.  
  5174.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 89
  5175.  
  5176.  
  5177.  
  5178.          XMS is slower than swapping to EMS memory, so if you have EMS memory
  5179.          available,  we recommend swapping to EMS. Swapping to XMS might
  5180.          conflict with some other software, so if you experience problems try
  5181.          using TbScanX without the XMS option.
  5182.  
  5183.  
  5184.          secure (s).
  5185.  
  5186.          TbScanX normally asks you to continue or to cancel when it detects a
  5187.          virus. In some business environments, however, employees should not
  5188.          make this choice. By using the SECURE option, you can disallow
  5189.          suspicious operations.
  5190.  
  5191.          NOTE:
  5192.               This option also disables the OFF and REMOVE options.
  5193.  
  5194.  
  5195.          lock (l).
  5196.  
  5197.          If you are a system operator, you can use this option to instruct
  5198.          TbScanX to lock the system when it detects a virus.
  5199.  
  5200.  
  5201.          api (i).
  5202.  
  5203.          This option is for advanced users only. It enables TbScanX's
  5204.          Application Program Interface (API), which is necessary if you want
  5205.          to call TbScanX from within your application. Consult the
  5206.          ADDENDUM.DOC file for detailed programming information.
  5207.  
  5208.  
  5209.          compat (c).
  5210.  
  5211.          In most systems TbScanX performs trouble free. Another TSR program,
  5212.          however, might conflict with TbScanX. If you load the other TSR
  5213.          first, TbScanX normally detects the conflict and uses an alternate
  5214.          interrupt. If, on the other hand, you load the other TSR after
  5215.          TbScanX, and it aborts with a message telling you that it is already
  5216.          loaded, you can use the COMPAT switch of TbScanX (when installing it
  5217.          in memory). It is also possible for TbScanX to conflict with other
  5218.          resident software that is using EMS or XMS. In this case, the system
  5219.          will hang. Again, the COMPAT option solves this problem, but be
  5220.          aware that due to extensive memory swapping, TbScanX's performance
  5221.          will slow down.
  5222.  
  5223.          TIP:
  5224.  
  5225.  
  5226.  
  5227.  
  5228.  
  5229.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 90
  5230.  
  5231.  
  5232.  
  5233.               If you are using DOS version 5 or above and have extended
  5234.               memory (XMS) on your system, you can use EMM386.SYS to treat a
  5235.               portion or extended memory as expanded memory (EMS). See your
  5236.               DOS manual for details.
  5237.  
  5238.  
  5239.     Here is one example of loading TbScanX:
  5240.  
  5241.             DEVICE=C:\TBAV\TBSCANX.EXE XMS NOBOOT
  5242.  
  5243.     In this example, the memory resident portion of TbScanX loads into
  5244.     extended memory (XMS) and will not scan boot sectors for viruses.
  5245.  
  5246.  
  5247.     3.4.4 Understanding the Scanning Process
  5248.  
  5249.     This section adds to your knowledge of TbScanX by explaining a little
  5250.     more about the scanning process.
  5251.  
  5252.     Whenever a program tries to write to an executable file (files with the
  5253.     extensions .COM and .EXE), you will briefly see the text  "*Scanning*" in
  5254.     the upper left corner of your screen.  As long as TbScanX is scanning,
  5255.     this text appears. Since TbScanX takes very little time to scan a file,
  5256.     the message appears very briefly. The text  "*Scanning*" also appears if
  5257.     you execute a program directly from a diskette, and if DOS accesses the
  5258.     boot sector of a diskette drive.
  5259.  
  5260.     If TbScanX detects a suspicious signature that is about to be written
  5261.     into a file, a window appears similar to the one displayed below:
  5262.  
  5263.                       +---------TBAV interception---------+
  5264.                       |              WARNING!             |
  5265.                       | TbScanX detected that COMMAND.COM |
  5266.                       | is infected with                  |
  5267.                       | Yankee_Doodle {1}                 |
  5268.                       | Abort? (Y/N)                      |
  5269.                       +-----------------------------------+
  5270.  
  5271.     Whenever this message appears, you should press N to continue, or any
  5272.     other key to abort. If TbScanX detects a suspicious signature in a boot
  5273.     sector, it displays a message like the following:
  5274.  
  5275.                     +------------TBAV interception-----------+
  5276.                     |                 WARNING!               |
  5277.                     | TbScanX detected that the bootsector   |
  5278.                     | of disk in drive A: is infected with   |
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 91
  5285.  
  5286.  
  5287.  
  5288.                     | Form                                   |
  5289.                     | Do NOT attempt to boot with that disk! |
  5290.                     +----------------------------------------+
  5291.  
  5292.     Although a virus seems to be in the boot sector of the specified drive,
  5293.     the virus cannot do anything since it has not yet executed. If you reboot
  5294.     the machine with the contaminated diskette in the drive, however, the
  5295.     virus copies itself into memory and onto your hard disk.
  5296.  
  5297.     NOTE:
  5298.          To display the name of a virus, TbScanX needs access to the virus
  5299.          signature file (TBSCAN.SIG). If for any reason TbScanX cannot access
  5300.          this file, it still detects viruses, but no longer displays the name
  5301.          of the virus. It displays "[Name unknown]"  instead.
  5302.  
  5303.  
  5304.  
  5305.  
  5306.  
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.  
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 92
  5340.  
  5341.  
  5342.  
  5343.  
  5344.     3.5 Using TbCheck
  5345.  
  5346.     This section describes another one of TBAV's memory resident (TSR)
  5347.     utilities, TbCheck.
  5348.  
  5349.  
  5350.     3.5.1 Understanding TbCheck
  5351.  
  5352.     TbCheck is a memory-resident integrity checker that comes into action
  5353.     whenever the system is about to execute a file. It uses the ANTI-VIR.DAT
  5354.     records TbSetup generates to detect file changes, which is often the
  5355.     first sign of a virus infection. These records contain information, such
  5356.     as file sizes and checksums, of every executable file in a directory. By
  5357.     comparing this information with the actual file status, it is possible to
  5358.     detect automatically any changes, including infections caused by viruses.
  5359.  
  5360.     Assume your AUTOEXEC.BAT file automatically loads a conventional
  5361.     integrity checker. If no files appear changed, your system should be
  5362.     uninfected, but to be sure that no virus can infect your system, you have
  5363.     to execute the checker frequently. In contrast, once you load TbCheck, it
  5364.     remains resident in memory, and automatically checks all programs you try
  5365.     to execute.
  5366.  
  5367.     NOTE:
  5368.          TbCheck is fully network compatible. It does not require you to
  5369.          reload the checker after you are logged onto the network.
  5370.  
  5371.  
  5372.     3.5.2 Working with TbCheck
  5373.  
  5374.     Since TbCheck is a memory resident program, you can execute and configure
  5375.     it from the DOS command line or from within a batch file. You should,
  5376.     however, load TbCheck automatically when the computer boots, preferably
  5377.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  5378.  
  5379.     CAUTION:
  5380.          Be sure to load TbDriver before trying to load TbCheck. TbCheck will
  5381.          refuse to load without it.
  5382.  
  5383.     There are three possible ways to start TbCheck:
  5384.  
  5385.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  5386.  
  5387.             <PATH>TBCHECK
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 93
  5395.  
  5396.  
  5397.  
  5398.          2. From CONFIG.SYS as a TSR (DOS 4 or above):
  5399.  
  5400.             INSTALL=<PATH>TBCHECK.EXE
  5401.  
  5402.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  5403.  
  5404.          3. From CONFIG.SYS as a device driver:
  5405.  
  5406.             DEVICE=<PATH>TBCHECK.EXE
  5407.  
  5408.          NOTE:
  5409.               Executing TbCheck as a device driver does not work in all OEM
  5410.               versions of DOS. If it doesn't work, use the INSTALL= command
  5411.               or load TbCheck from AUTOEXEC.BAT. TbCheck should always work
  5412.               correctly if you load it from AUTOEXEC.BAT. Also, unlike other
  5413.               anti-virus products, you can load the ThunderBYTE Anti-Virus
  5414.               utilities before starting a network without losing the
  5415.               protection after the network is started.
  5416.  
  5417.  
  5418.     In addition to the three loading possibilities, if you are using DOS
  5419.     version 5 or above, you can load TbCheck into an available UMB (upper
  5420.     memory block) from AUTOEXEC.BAT using this command:
  5421.  
  5422.             LOADHIGH <PATH>TBCHECK
  5423.  
  5424.     You can also load TbCheck into high memory from within the CONFIG.SYS
  5425.     using this command:
  5426.  
  5427.             DEVICEHIGH=<PATH>TBCHECK.EXE
  5428.  
  5429.     If you are using Microsoft Windows, you should load TbCheck BEFORE
  5430.     starting Windows. When you do this, there is only one copy of TbCheck in
  5431.     memory regardless of how many DOS windows you might open. Every DOS
  5432.     window (that is, every  virtual machine ) has a fully functional copy of
  5433.     TbCheck running in it.
  5434.  
  5435.     TbCheck automatically detects if Windows is running, and switches itself
  5436.     into multi-tasking mode if necessary. You can even disable TbCheck in one
  5437.     window without effecting the functionality in another window.
  5438.  
  5439.     NOTE:
  5440.          TBAV for Windows comes with a full-fledges Windows-based version of
  5441.          TbCheck. Please refer to the documentation of TBAV for Windows for
  5442.          more information.
  5443.  
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 94
  5450.  
  5451.  
  5452.  
  5453.     3.5.3 Maximizing TbCheck
  5454.  
  5455.     When you run TbCheck from the DOS command line, it recognizes command
  5456.     line options (often called "switches" in DOS terms). These options appear
  5457.     as "key-words" or "key-letters." The words are easier to memorize, so we
  5458.     will use these in this manual for convenience.
  5459.  
  5460.     You can maximize TbCheck's performance by using it's various options. The
  5461.     first four options in the following table are always available. The other
  5462.     options are available only if TbCheck is not yet memory resident.
  5463.  
  5464.          option parameter  short  explanation
  5465.          ----------------- -----  ----------------------------------------
  5466.          help                ?    display on-line help
  5467.          remove              r    remove TbCheck from memory
  5468.          off                 d    disable checking
  5469.          on                  e    enable checking
  5470.          noavok [=<drives>]  o    do not warn for missing ANTI-VIR.DAT record
  5471.          fullcrc             f    calculate full CRC (slow!)
  5472.          secure              s    do not execute unauthorized files
  5473.  
  5474.     The explanations in the above table serve as a quick reference, but the
  5475.     following descriptions provide more information about each option.
  5476.  
  5477.     TIP:
  5478.          Remember that you can display these options from the command line by
  5479.          entering TBCHECK ?.
  5480.  
  5481.  
  5482.          help (?).
  5483.  
  5484.          Specifying this option displays the above options list.
  5485.  
  5486.  
  5487.          remove (r).
  5488.  
  5489.          This option disables TbCheck and attempts to remove the resident
  5490.          part of its code from memory and return this memory space to the
  5491.          system. Unfortunately, this works only if you loaded TbCheck last.
  5492.          An attempt to remove a TSR after you load another TSR leaves a
  5493.          useless gap in memory and could disrupt the interrupt chain. TbCheck
  5494.          checks whether it is safe to remove its resident code; if not, it
  5495.          simply disables itself.
  5496.  
  5497.  
  5498.          off (d).
  5499.  
  5500.  
  5501.  
  5502.  
  5503.  
  5504.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 95
  5505.  
  5506.  
  5507.  
  5508.          This option disables TbCheck, but leaves it in memory.
  5509.  
  5510.  
  5511.          on (e).
  5512.  
  5513.          This re-enables TbCheck after having been disabled with the OFF
  5514.          option.
  5515.  
  5516.  
  5517.          noavok (o).
  5518.  
  5519.          TbCheck looks in the ANTI-VIR.DAT file for checksum information on
  5520.          the file you want to check. TbCheck displays a message if it finds
  5521.          no checksum information or if the specific checksum is incorrect.
  5522.          This ensures that you will receive a warning whenever a malicious
  5523.          program deletes the ANTI-VIR.DAT file. Although we recommend that
  5524.          you maintain ANTI-VIR.DAT files on all drives, this might not always
  5525.          be practical with floppy disks, RAM disks, or CD-ROM disks. This
  5526.          option, therefore, tells TbCheck not to look for an ANTI-VIR.DAT on
  5527.          specific drives. For example, if you don't want TbCheck to alert you
  5528.          about the absence of an ANTI-VIR.DAT record on floppy disks A: and
  5529.          B: or on your RAM disk E:, you should load TbCheck using the
  5530.          following command line:
  5531.                 <PATH>TBCHECK NOAVOK=ABE
  5532.  
  5533.          If you don't want a message when an ANTI-VIR.DAT record is missing
  5534.          on network drives, you should specify an asterisk (*) instead of a
  5535.          drive letter. If you don't specify a drive to the NOAVOK option,
  5536.          TbCheck never issues a warning if an ANTI-VIR.DAT record is missing
  5537.          on any drive.
  5538.  
  5539.          CAUTION:
  5540.               This presents a security hole for viruses: by deleting the
  5541.               ANTI-VIR.DAT file you will not be able to detect file changes
  5542.               caused by a viral infection. Also, please note that the NOAVOK
  5543.               option does not prevent the detection of infected programs if
  5544.               the ANTI-VIR record is available. If a program has changed and
  5545.               the ANTI-VIR record is available, you will still get an alarm
  5546.               regardless of how you implement the NOAVOK option.
  5547.  
  5548.  
  5549.          fullcrc (f).
  5550.  
  5551.          By default, TbCheck verifies only that part of the file near the
  5552.          program's entry point. If a virus infects the file, this area will
  5553.          definitely change, so this is perfectly adequate to detect all
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 96
  5560.  
  5561.  
  5562.  
  5563.          infections. Other file changes, notably configuration variations,
  5564.          will not trigger the alarm. If, however, you should ever desire a
  5565.          full check that detects ANY file changes, this option takes care of
  5566.          it. Be aware that this option slows down the system considerably, so
  5567.          we don't recommend its use in normal circumstances.
  5568.  
  5569.  
  5570.          secure (s).
  5571.  
  5572.          TbCheck normally asks whether you want to continue or cancel when a
  5573.          file has been changed or when there is no checksum information
  5574.          available. In a business environment it may be unwise to leave such
  5575.          decisions to employees. Option SECURE makes it impossible to execute
  5576.          new or unknown programs, or programs that have been changed.
  5577.  
  5578.          NOTE:
  5579.               Be aware that the SECURE option also disables the OFF and
  5580.               REMOVE options.
  5581.  
  5582.  
  5583.     3.5.4 Understanding the Scanning Process
  5584.  
  5585.     This section adds to your knowledge of TbCheck by explaining a little
  5586.     more about the scanning process.
  5587.  
  5588.     Whenever a program wants to execute, TbCheck steps in to see if it really
  5589.     has the authority to do so. During that time it displays the message
  5590.     "*Checking*" in the upper left hand corner of the screen. TbCheck
  5591.     operates at lightning speed, so the message appears only momentarily.
  5592.  
  5593.     TbCheck quickly checks a program when the program loads. If TbCheck
  5594.     detects that a file has changed, a notification message appears. At this
  5595.     point, you can choose to either continue, or to abort the program's
  5596.     execution.
  5597.  
  5598.     If there is no information in the ANTI-VIR.DAT file about the program,
  5599.     TbCheck also informs you of this. You can either choose to continue
  5600.     without checking, or to abort the program's execution.
  5601.  
  5602.     TIP:
  5603.          You can prevent users from executing unauthorized software by using
  5604.          the SECURE option.
  5605.  
  5606.  
  5607.     3.5.5 Testing TbCheck
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 97
  5615.  
  5616.  
  5617.  
  5618.     Understandably, many users wish to test the product they are using. In
  5619.     contrast to a word processor, for example, it is very difficult to test a
  5620.     smart integrity checker like TbCheck. You cannot change a random 25 bytes
  5621.     of an executable file just to find out whether TbCheck detects the file
  5622.     change. On the contrary, it is very likely that TbCheck will NOT detect
  5623.     it because the program checks only the entry area of the file, whereas
  5624.     the changed bytes might reside in another location within the file.  But
  5625.     again, if a virus infects the file, this entry area will definitely
  5626.     change, so this is perfectly adequate to detect all infections.
  5627.  
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633.  
  5634.  
  5635.  
  5636.  
  5637.  
  5638.  
  5639.  
  5640.  
  5641.  
  5642.  
  5643.  
  5644.  
  5645.  
  5646.  
  5647.  
  5648.  
  5649.  
  5650.  
  5651.  
  5652.  
  5653.  
  5654.  
  5655.  
  5656.  
  5657.  
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.  
  5665.  
  5666.  
  5667.  
  5668.  
  5669.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 98
  5670.  
  5671.  
  5672.  
  5673.  
  5674.     3.6 Using TbClean
  5675.  
  5676.     In case a virus infects one or more files, and you wish to remove the
  5677.     virus from those files (for example, in case you do not have a clean
  5678.     backup of the files), you can use TbClean. TbClean is the program that
  5679.     can remove viruses from infected files, even without knowing the virus
  5680.     itself. This section explores TbClean.
  5681.  
  5682.  
  5683.     3.6.1 Understanding TbClean
  5684.  
  5685.     TbClean isolates viral code in an infected program and removes it. It is
  5686.     then safe to use the program again, since TbClean securely eliminates the
  5687.     risk of other files becoming infected or damaged.
  5688.  
  5689.  
  5690.     Understanding the Repair Cleaner
  5691.  
  5692.     TbClean works differently from conventional virus cleaners because it
  5693.     does not actually recognize any specific virus. TbClean's disinfection
  5694.     scheme is unique, employing ThunderBYTE's heuristic ( learn as you go )
  5695.     technology so that it works with almost any virus.
  5696.  
  5697.     Actually, the TbClean program contains two cleaners: a "repair" cleaner,
  5698.     and a "heuristic" cleaner. The repair cleaner needs an ANTI-VIR.DAT file
  5699.     generated by the TbSetup program before the infection occured. This
  5700.     ANTI-VIR.DAT file contains essential information such as the original
  5701.     file size, the bytes at the beginning of the program, a cryptographic
  5702.     checksum to verify the results, etc. This information enables TbClean to
  5703.     disinfect almost every file, regardless of the specific virus that has
  5704.     infected it, even if it is unknown.
  5705.  
  5706.  
  5707.     Understanding the Heuristic Cleaner
  5708.  
  5709.     In the heuristic cleaning mode TbClean does not need any information
  5710.     about viruses either, but it has the added advantage that it does not
  5711.     even care about the original, uninfected state of a program. This
  5712.     cleaning mode is very effective if your system becomes infected with an
  5713.     unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
  5714.     files in time.
  5715.  
  5716.     In the heuristic mode, TbClean loads the infected file and starts
  5717.     emulating the program code to find out which part of the file belongs to
  5718.     the original program and which belongs to the virus. The result is
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page 99
  5725.  
  5726.  
  5727.  
  5728.     successful if TbClean restores the functionality of the original program,
  5729.     and reduces the functionality of the virus to zero.
  5730.  
  5731.     NOTE:
  5732.          This does not imply that the cleaned file is 100% equal to the
  5733.          original. Please read on.
  5734.  
  5735.     When TbClean uses heuristic cleaning to disinfect a program, the file
  5736.     most likely will not be exactly the same as in its original state. This
  5737.     does not imply a failure on TbClean s part, nor does it mean the file is
  5738.     still infected in some way.
  5739.  
  5740.     It is actually normal that the heuristically cleaned file is still larger
  5741.     than the original. This is normal because TbClean tries to be on the safe
  5742.     side and avoids removing too much. The bytes left at the end of the file
  5743.     are  dead  code, that is, instructions that will never execute again
  5744.     since TbClean removes the  jump  at the beginning of the program. If the
  5745.     cleaned file is an EXE type file, it is likely that some bytes in front
  5746.     of the program (the  EXE-header ) are different. There are several
  5747.     suitable solutions for reconstructing the  EXE-header,  so TbClean
  5748.     cannot, of course, know the original state of the program. The
  5749.     functionality of the cleaned file will nevertheless be the same.
  5750.  
  5751.     NOTE:
  5752.          This applies only to heuristic cleaning. If there is a suitable
  5753.          ANTI-VIR.DAT record available, the cleaned program will normally be
  5754.          exactly the same as the original clean file.
  5755.  
  5756.     It's also possible for a virus to infect a file with multiple viruses, or
  5757.     multiple instances of the same virus. Some viruses keep on infecting
  5758.     files, and in such cases the number of infected files keeps growing. If
  5759.     TbClean used its heuristic cleaning mode, it is very likely that TbClean
  5760.     removed only one instance of the virus. In this case, it is necessary to
  5761.     repeat the cleaning process until TbClean reports that it cannot remove
  5762.     anything else.
  5763.  
  5764.  
  5765.     3.6.2 Working with the TbClean Menus
  5766.  
  5767.     Selecting TbClean from TBAV's Main Menu displays the following menu:
  5768.  
  5769.  
  5770.  
  5771.  
  5772.  
  5773.  
  5774.  
  5775.  
  5776.  
  5777.  
  5778.  
  5779.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 100
  5780.  
  5781.  
  5782.  
  5783.              +-----Main menu-----+
  5784.              | Confi+------TbClean men-------+
  5785.              | TbSca|  Start cleaning        |
  5786.              | TbSet|  List file name        |
  5787.              | TbUti|  Use TBAV. INI file    |
  5788.              | TbCLe|  Prompt for pause      |
  5789.              | Virus|v Use Anti-Vir.Dat      |
  5790.              | TBAV |v Use Heuristics        |
  5791.              | Docum|v Expanded memory       |
  5792.              | Regis|  Display program loops |
  5793.              | About|  Make list file        |
  5794.              | Quit +------------------------+
  5795.              | eXit (no save)    |
  5796.              +-------------------+
  5797.  
  5798.     We'll now explore these menu options.
  5799.  
  5800.     The "Start Cleaning" Option
  5801.  
  5802.     After tracking one or more viruses, all you should do is select the
  5803.     Start cleaning  option. After specifying the relevant filename, TbClean
  5804.     goes into action. Before beginning, however, you can select various
  5805.     parameters. We will explore these in the following sections.
  5806.  
  5807.  
  5808.     The "List File Name" Option
  5809.  
  5810.     By selecting this option you can specify a filename to use as a list file
  5811.     (see also the  Make list file  option below).
  5812.  
  5813.  
  5814.     The "Use TBAV.INI File" Option
  5815.  
  5816.     If you enable this option, the TbClean configuration values, saved in the
  5817.     TBAV.INI file, will also be valid if you run TbClean from the DOS command
  5818.     line. Be careful, however, since if you specify options in the TBAV.INI
  5819.     file, you cannot undo them on the command line. See the  "Configuring
  5820.     TBAV" section of Chapter 1 for details about TBAV.INI.
  5821.  
  5822.  
  5823.     The "Prompt For Pause" Option
  5824.  
  5825.     This option instructs TbClean to stop disassembling information after
  5826.     each full screen, enabling you to examine the results.
  5827.  
  5828.  
  5829.  
  5830.  
  5831.  
  5832.  
  5833.  
  5834.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 101
  5835.  
  5836.  
  5837.  
  5838.     The "Use ANTI-VIR.DAT" Option
  5839.  
  5840.     If you turn this option off, TbClean acts as if there were no
  5841.     ANTI-VIR.DAT records available and therefore performs heuristic cleaning.
  5842.  
  5843.  
  5844.     The "Use Heuristics" Option
  5845.  
  5846.     If you turn this option off, TbClean does not try to apply heuristic
  5847.     cleaning, even when there are no ANTI-VIR.DAT records available.
  5848.  
  5849.  
  5850.     The "Expanded Memory" Option
  5851.  
  5852.     If you select this option, TbClean detects the presence of expanded
  5853.     memory and uses it in heuristic mode. You might want to disable EMS usage
  5854.     if it is too slow or if your expanded memory manager is not very stable.
  5855.  
  5856.  
  5857.     The "Show Program Loops" Option
  5858.  
  5859.     By default TbClean keeps track of looping conditions to prevent
  5860.     repetitive data from appearing on your screen thousands of times. If you
  5861.     select this option, TbClean "works out" every loop.
  5862.  
  5863.     CAUTION:
  5864.          Using this option drastically reduces TbClean's performance speed.
  5865.          Also, do not combine this option with the "Make list file"  option,
  5866.          because the list file might grow too big
  5867.  
  5868.  
  5869.     The "Make List File" Option
  5870.  
  5871.     Selecting this option instructs TbClean to generate an output file with a
  5872.     chronological disassembly of the virus being removed.
  5873.  
  5874.  
  5875.     Maximizing TbClean
  5876.  
  5877.     Now that you know how to use TbClean's menus, you can more easily
  5878.     understand the power of using it from the command line.
  5879.  
  5880.  
  5881.  
  5882.     3.6.3 Using TbClean Command Line Options
  5883.  
  5884.  
  5885.  
  5886.  
  5887.  
  5888.  
  5889.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 102
  5890.  
  5891.  
  5892.  
  5893.     When you run TbClean from the DOS command line, it recognizes command
  5894.     line options (often called "switches" in DOS terms). These options appear
  5895.     as "key-words" or "key-letters." The words are easier to memorize, so we
  5896.     will use these in this manual for convenience.
  5897.  
  5898.     You can maximize TbClean's performance by using its command line options.
  5899.     The following table lists these options:
  5900.  
  5901.          option parameter   short explanation
  5902.          ------------------ ----- ----------------------------------
  5903.          help                he   display on-line help
  5904.          pause               pa   enable  pause  prompt
  5905.          mono                mo   force monochrome display output
  5906.          noav                na   do not use ANTI-VIR.DAT records
  5907.          noheur              nh   do not use heuristic cleaning
  5908.          noems               ne   do not use expanded memory
  5909.          showloop            sl   show every loop iteration (slow!)
  5910.          list[=<filename>]   li   create list file
  5911.  
  5912.     The explanations in the above table serve as a quick reference, but the
  5913.     following descriptions provide more information about each option.
  5914.  
  5915.     TIP:
  5916.          Remember that you can display these options from the command line by
  5917.          entering TBCLEAN ?.
  5918.  
  5919.  
  5920.          help (he).
  5921.  
  5922.          Specifying this option displays the above options list.
  5923.  
  5924.  
  5925.          pause (pa).
  5926.  
  5927.          This option instructs TbClean to stop disassembling information
  5928.          after each full screen, enabling you to examine the results. The
  5929.          PAUSE option is available for registered users only.
  5930.  
  5931.  
  5932.          mono (mo).
  5933.  
  5934.          This option enhances the screen output on some LCD screens or
  5935.          color-emulating monochrome systems.
  5936.  
  5937.  
  5938.          noav (na).
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 103
  5945.  
  5946.  
  5947.  
  5948.          If you specify this option, TbClean acts as if there were no
  5949.          ANTI-VIR.DAT records available and therefore performs heuristic
  5950.          cleaning.
  5951.  
  5952.  
  5953.          noheur (nh).
  5954.  
  5955.          If you specify this option, TbClean does not try to apply heuristic
  5956.          cleaning, even when there are no ANTI-VIR.DAT records available.
  5957.  
  5958.  
  5959.  
  5960.          noems (ne).
  5961.  
  5962.          If you specify this option, TbClean does not detect the presence of
  5963.          expanded memory and use it in heuristic mode. You might want to
  5964.          disable EMS use if it is too slow, or if your expanded memory
  5965.          manager is not very stable.
  5966.  
  5967.  
  5968.          showloop (sl).
  5969.  
  5970.          By default TbClean keeps track of looping conditions to prevent
  5971.          repetitive data from appearing on your screen thousands of times. If
  5972.          you select this option, TbClean "works out" every loop.
  5973.  
  5974.          CAUTION:
  5975.               Using this option drastically reduces TbClean's performance
  5976.               speed. Also, do not combine this option with the "Make list
  5977.               file" option, because the list file might grow too big
  5978.  
  5979.  
  5980.          list [=<filename>] (li).
  5981.  
  5982.          This option instructs TbClean to generate an output file with a
  5983.          chronological disassembly of the virus being removed. The LIST
  5984.          option is available for registered users only.
  5985.  
  5986.  
  5987.     Here are two examples of using TbClean from the command line:
  5988.  
  5989.          1. This command:
  5990.  
  5991.                  TBCLEAN VIRUS.EXE
  5992.  
  5993.  
  5994.  
  5995.  
  5996.  
  5997.  
  5998.  
  5999.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 104
  6000.  
  6001.  
  6002.  
  6003.          instructs TbClean to make a backup of the file VIRUS.EXE using the
  6004.          name filename VIRUS.VIR, and then disinfect VIRUS.EXE.
  6005.  
  6006.  
  6007.          2. This command:
  6008.  
  6009.                  TBCLEAN VIRUS.EXE TEST.EXE
  6010.  
  6011.          instructs TbClean to copy the file called VIRUS.EXE to the new
  6012.          filename TEST.EXE and then disinfect TEST.EXE.
  6013.  
  6014.  
  6015.  
  6016.     3.6.4 Understanding the Cleaning Process
  6017.  
  6018.     TbClean's cleaning process is extremely important. To better illustrate
  6019.     it, let's look at a sample file cleaning.
  6020.  
  6021.     Assume you want to clean a file called COMMAND.COM, which resides in the
  6022.     TMP directory on drive G. To do so, you would follow these steps:
  6023.  
  6024.     1. Select the "Start cleaning" option on the TBAV menu. The following
  6025.     window appears:
  6026.  
  6027.       +-------------------------------------------------------------------+
  6028.       |                                                                   |
  6029.       |Enter name of program to clean. TbClean will create a backup first!|
  6030.       |                                                                   |
  6031.       |                                                                   |
  6032.       +-------------------------------------------------------------------+
  6033.  
  6034.     The ThunderBYTE utility cleans on a file-by-file approach; that is, it
  6035.     cleans one file, verifies the result, and continues on to the next file.
  6036.     This helps you keep track of which file is clean, which file is damaged
  6037.     and should be restored from a backup, and which file is still infected.
  6038.  
  6039.     2. Specify the name of the file. In this case, you would type
  6040.     G:\TMP\COMMAND.COM and press ENTER. The following window appears:
  6041.  
  6042.       +-------------------------------------------------------------------+
  6043.       |                                                                   |
  6044.      | Enter name of cleaned file. Keep blank if infected program may be | |
  6045.        changed.                                                          |
  6046.       |                                                                   |
  6047.       |                                                                   |
  6048.       +-------------------------------------------------------------------+
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 105
  6055.  
  6056.  
  6057.  
  6058.     3. Type a new file name and press ENTER. In this case, we'll use
  6059.     G:\TMP\TEST.EXE. TbClean now begins the cleaning process.
  6060.  
  6061.     By specifying a different name you ensure that the cleaned file cannot
  6062.     overwrite the original file. In this example TbClean copies COMMAND.COM
  6063.     to TEST.COM and disinfects TEST.COM.
  6064.  
  6065.     If you do not specify a backup filename, TbClean creates a backup with
  6066.     the .VIR extension. In this example, the TbClean would copy the original
  6067.     file to COMMAND.VIR and then clean COMMAND.COM.
  6068.  
  6069.     During the cleaning process, TbClean displays as much information as
  6070.     possible about the current operation, as illustrated below. All the major
  6071.     actions appear in the emulation window at the lower half of the screen,
  6072.     which displays a disassembly and the register contents of the program
  6073.     under scrutiny, as well as a progress report. The top-left and top-right
  6074.     status windows reveal useful details of the infected file and (if TbClean
  6075.     can find a suitable ANTI-VIR.DAT file) the file's original status. You
  6076.     can abort the cleaning process by pressing Ctrl+Break.
  6077.  
  6078.        +-----------------------------------------------------------------+
  6079.        |  Thunderbyte clean utility       (C) 1992-95 Thunderbyte B.V.   |
  6080.        +---------Infected state----------++---------Original state-------+
  6081.        | Entry point (CS:IP)   34BF:0012 || Entry point (CS:IP) 34BF:0012|
  6082.        | File length                     || File length         UNKNOWN! |
  6083.        | Cryptographic CRC     9F90F52A  || Cryptographic CRC   UNKNOWN! |
  6084.        +---------------------------------++------------------------------+
  6085.        |                                                                 |
  6086.        | Starting clean attempt. Analyzing infected file...              |
  6087.        | Anti-Vir not found: original state unknown. Trying emulation... |
  6088.        | Emulation terminated:                                           |
  6089.        |                                                                 |
  6090.        | G:\VIRUS\COMMAND.COM                                            |
  6091.        | CS:IP    Instruction     AX  BX  CX  DX  DS  SI  ES  DI  SS  SP |
  6092.        | 9330:0101  mov ah,40    FFFE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  6093.        | 9330:0103  mov bx,0002  40FE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  6094.        | 9330:0106  mov cx,0016  40FE0002FFFFEFFFD382FFEDEFFEFFFF9520007E|
  6095.        | 9330:0109  mov dx,cs    40FE00020016EFFFD382FFEDEFFEFFFF9520007E|
  6096.        | 9330:010B  mov ds,dx    40FE000200169330D382FFEDEFFEFFFF9520007E|
  6097.        | 9330:010D  mov dx,0117  40FE0002001693309330FFEDEFFEFFFF9520007E|
  6098.        | 9330:0110  int 21       40FE0002001601179330FFEDEFFEFFFF9520007E|
  6099.        | 9330:0112  mov ax,4CFF  40FE0002001601179330FFEDEFFEFFFF9520007E|
  6100.        | 9330:0115  int 21       4CFF0002001601179330FFEDEFFEFFFF9520007E|
  6101.        | 9330:0115  <End of emulation>                                   |
  6102.        +-----------------------------------------------------------------+
  6103.  
  6104.  
  6105.  
  6106.  
  6107.  
  6108.  
  6109.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 106
  6110.  
  6111.  
  6112.  
  6113.     A successful purge is not the end of the story! Your job is only
  6114.     partially complete. Some viruses damage data files. They could randomly
  6115.     change bytes on your disks, swap sectors, or perform other nasty tricks.
  6116.     A cleaning utility can never repair data!
  6117.  
  6118.     4. Check your data files thoroughly and consult a virus expert to find
  6119.     out what the virus is capable of doing. If there is any doubt, restoring
  6120.     the data is definitely the most reliable option.
  6121.  
  6122.     WARNING:
  6123.          Under no circumstances should you continue to use cleaned software!
  6124.          Cleaning is a temporary solution that simply enables you to delay a
  6125.          large restore operation until a more practical time. You should
  6126.          never rely on a cleaned program for any length of time. This is not
  6127.          a criticism of anti-viral cleaning agents. If your data is valuable
  6128.          to you, you should care for it as much as possible, and sticking to
  6129.          original software is simply an elementary precaution. In other
  6130.          words, restore the original programs as soon as possible!
  6131.  
  6132.  
  6133.     3.6.5 Understanding Cleaning Limitations
  6134.  
  6135.     Although TbClean has a very high success rate and is able to clean
  6136.     programs that other cleaners refuse to process, it simply cannot remove
  6137.     all viruses and cannot clean every file. Examples of computer viruses
  6138.     that TbClean (or other virus cleaners) cannot clean include:
  6139.  
  6140.          Overwriting viruses. This type of virus does not add itself to the
  6141.          end of the original program, rather it copies itself over the
  6142.          original file. Further, it does not attempt to start the original
  6143.          program but simply hangs the machine or returns you to DOS after it
  6144.          activates. Since it overwrites the original file, no cleaner can
  6145.          restore the file.
  6146.  
  6147.          Some encrypted viruses. TbClean is usually able to decrypt the
  6148.          virus. However, some viruses use anti-debugger features that TbClean
  6149.          cannot yet cope with (but we re working on it!).
  6150.  
  6151.          The construction of some program files makes them impossible to
  6152.          clean, making reinstallation the only option. Some of these file
  6153.          types include:
  6154.  
  6155.               EXE-programs with internal overlays. TbScan marks these files
  6156.               with an "i" flag. Any infection is sure to cause major damage
  6157.               to these files. Some viruses recognize such programs and do not
  6158.  
  6159.  
  6160.  
  6161.  
  6162.  
  6163.  
  6164.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 107
  6165.  
  6166.  
  6167.  
  6168.               infect them, but most viruses infect these programs anyway and
  6169.               corrupt them. No cleaner can repair this kind of damage.
  6170.  
  6171.               Programs with sanity check routines. Some programs (mostly
  6172.               anti-virus software or copy-protected programs) perform their
  6173.               own kind of sanity check. Heuristic cleaning of an infected
  6174.               program normally results in a program that is not physically
  6175.               identical to the original. So, although TbClean removes the
  6176.               virus from the program and the program is functionally
  6177.               identical to the original, the program's internal sanity check
  6178.               usually detects the slight changes and aborts the program.
  6179.  
  6180.  
  6181.     Cleaning Multiple Files
  6182.  
  6183.     TbClean has no provisions for cleaning multiple programs in one run.
  6184.     There are two reasons for this omission:
  6185.  
  6186.          1. TbClean cannot search for viruses automatically since it does not
  6187.          know any virus.
  6188.  
  6189.          2. We recommend that you clean the system on a file-by-file basis.
  6190.          Clean one file, verify the result, and go on to the next file.
  6191.          Again, this helps you keep track of which files are clean, which
  6192.          files are damaged and should be restored from a backup, and which
  6193.          files are still infected.
  6194.  
  6195.  
  6196.  
  6197.  
  6198.  
  6199.  
  6200.  
  6201.  
  6202.  
  6203.  
  6204.  
  6205.  
  6206.  
  6207.  
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.  
  6217.  
  6218.  
  6219.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 108
  6220.  
  6221.  
  6222.  
  6223.  
  6224.     3.7 Using TbMem
  6225.  
  6226.     TBAV provides three extra utilities that help you build a massive
  6227.     security wall around your computer system. This set includes: TbMem,
  6228.     TbFile and TbDisk. In this section, we'll introduce these three utilities
  6229.     collectively as a set and then examine each individual utility.
  6230.  
  6231.  
  6232.     3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities
  6233.  
  6234.     As the old saying goes,  An ounce of prevention is worth a pound of cure,
  6235.     and the computer virus threat gives this old saying new meaning. TBAV is
  6236.     the best product on the market for removing viruses, but if this is all
  6237.     it did, it would be of little use. It's much wiser to prevent virus
  6238.     infection than wait until you get one and remove it.
  6239.  
  6240.     This is where a set of three small memory-resident (TSR) programs come
  6241.     in. These utilities are shipped with TBAV for DOS; they monitor specific
  6242.     areas of your system and protect against virus infection. These three
  6243.     utilities are:
  6244.  
  6245.  
  6246.          TbMem.
  6247.  
  6248.          This program detects attempts by programs to remain resident in
  6249.          memory and ensures that no program can remain resident in memory
  6250.          without permission.
  6251.  
  6252.  
  6253.          TbFile.
  6254.  
  6255.          This program detects attempts by programs to infect other programs.
  6256.  
  6257.  
  6258.          TbDisk.
  6259.  
  6260.          This program detects attempts by programs to write directly to the
  6261.          disk (bypassing DOS), attempts to format disks, and other such
  6262.          destructive actions.
  6263.  
  6264.  
  6265.     3.7.2 Loading TbMem, TbFile and TbDisk
  6266.  
  6267.  
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 109
  6275.  
  6276.  
  6277.  
  6278.     The TbMem, TbFile and TbDisk programs load in the same way. The following
  6279.     sections contain specific information on each of the programs, but here
  6280.     we present loading information that is common to all of them.
  6281.  
  6282.     CAUTION:
  6283.          You must load TbDriver before you can load any of the TbMem, TbFile
  6284.          or TbDisk utilities. These utilities will refuse to load without it.
  6285.  
  6286.     There are three possible ways to load TbMem, TbFile or TbDisk. Please
  6287.     note that we call the programs TbXXX here. Naturally, you will replace
  6288.     the XXX with either Mem, File, or Disk when you load each utility.
  6289.  
  6290.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  6291.  
  6292.             <PATH>TBXXX
  6293.  
  6294.          2. From the CONFIG.SYS file as a TSR (DOS 4 or higher):
  6295.  
  6296.             INSTALL=<PATH>TBXXX.EXE
  6297.  
  6298.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  6299.  
  6300.          3. From the CONFIG.SYS as a device driver:
  6301.  
  6302.             DEVICE=<PATH>TBXXX.EXE
  6303.  
  6304.     NOTE:
  6305.          Executing one of the utilities TbMem, TbFile or TbDisk as a device
  6306.          driver does not work in all OEM versions of DOS. If it doesn't work,
  6307.          use the INSTALL= command or load the desired program from within the
  6308.          AUTOEXEC.BAT. TbMem, TbFile and TbDisk should always work correctly
  6309.          after being started from within the AUTOEXEC.BAT file. Also, unlike
  6310.          other anti-virus products, you can load the ThunderBYTE Anti-Virus
  6311.          utilities before starting a network without losing the protection
  6312.          after the network starts.
  6313.  
  6314.     In addition to the three loading possibilities, if you are using DOS
  6315.     version 5 or above, you can load the TbMem, TbFile or TbDisk programs in
  6316.     an available UMB (upper memory block) from AUTOEXEC.BAT using the
  6317.     following command:
  6318.  
  6319.                  LOADHIGH <PATH>TBXXX.EXE
  6320.  
  6321.     You can load TbMem, TbFile or TbDisk high from within the CONFIG.SYS
  6322.     using the following command:
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 110
  6330.  
  6331.  
  6332.  
  6333.                  DEVICEHIGH=<PATH>TBXXX.EXE
  6334.  
  6335.     If you are using Microsoft Windows, you should load the resident TBAV
  6336.     programs BEFORE starting Windows. When you do this, there is only one
  6337.     copy of the program in memory regardless of how many DOS windows you
  6338.     might open. Every DOS window (that is, every  virtual machine ) has a
  6339.     fully functional copy of the program running in it.
  6340.  
  6341.     Each of the programs automatically detects if Windows is running, and
  6342.     switches itself into multitasking mode if necessary. You can even disable
  6343.     each of the programs in one window without affecting the functionality in
  6344.     another window.
  6345.  
  6346.  
  6347.     3.7.3 Using Command Line Options
  6348.  
  6349.     You can load all the TbMem, TbFile or TbDisk utilities using several
  6350.     command line options. See the description of each individual utility for
  6351.     further information.
  6352.  
  6353.  
  6354.     3.7.4 Understanding TbMem
  6355.  
  6356.     Once they execute, most viruses remain resident in memory. While resident
  6357.     in memory, they might have many opportunities to infect other files in
  6358.     the background, interfere with the system operation, hide themselves from
  6359.     virus scanners or checksumming programs, and/or perform other nasty
  6360.     tasks.
  6361.  
  6362.     On the other hand, because so many viruses remain resident in memory,
  6363.     most of them are easy to detect by monitoring the process of becoming
  6364.     memory resident.
  6365.  
  6366.     TbMem monitors the system and ensures that no program can remain resident
  6367.     in memory without permission. This brings to your attention any software
  6368.     that attempts to remain resident, thereby reducing the likelihood of a
  6369.     virus going unnoticed.
  6370.  
  6371.     TbMem also protects CMOS (a small area of memory that stores vital
  6372.     information concerning your computer).
  6373.  
  6374.     NOTE:
  6375.          What exactly is a memory-resident program? Most programs run by
  6376.          executing a command at the DOS command line, perform some task, and
  6377.          then terminate, placing you back where you started. Some programs,
  6378.          however, continue to operate after you terminate them. These
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 111
  6385.  
  6386.  
  6387.  
  6388.          programs load themselves into memory, remain resident in memory, and
  6389.          perform some task in the background. Programs in this category
  6390.          include: disk caches, print spoolers and network software. These
  6391.          programs are often referred to as TSR (Terminate and Stay Resident)
  6392.          programs.
  6393.  
  6394.     Like a TSR program, most viruses also remain resident in memory, and it
  6395.     is for this reason that TbMem should be usedto control the process of
  6396.     becoming resident in memory.
  6397.  
  6398.     If a program attempts to become resident, TbMem offers you the option to
  6399.     abort the attempt. It does this by guarding the DOS TSR function calls
  6400.     while also monitoring important interrupts and memory structures. TbMem
  6401.     uses the ANTI-VIR.DAT records to determine whether it will allow a
  6402.     specific program to remain resident in memory.
  6403.  
  6404.     TbSetup recognizes many common TSRs. If it doesn't recognize a TSR,
  6405.     however, TbMem asks your permission for the TSR to load. It then
  6406.     maintains permission information in the ANTI-VIR.DAT files to prevent
  6407.     TbMem from bothering you when an approved TSR is loading.
  6408.  
  6409.     TbMem also checks the contents of the CMOS configuration memory after
  6410.     each program termination to ensure that programs have not changed. TbMem
  6411.     offers you the option of restoring the CMOS configuration when it
  6412.     changes. Once you  teach  TbMem which programs are TSRs and which are not
  6413.     on a PC, you can use TbSetup to set the permission flag of these files on
  6414.     other machines.
  6415.  
  6416.     TbMem also installs a hot key that you can use to escape from nearly all
  6417.     programs.
  6418.  
  6419.     TbMem is fully network compatible. It does not require you to reload the
  6420.     checker after logging onto a network.
  6421.  
  6422.  
  6423.     3.7.5 Working with TbMem
  6424.  
  6425.     Since TbMem is a memory resident program, you can execute and configure
  6426.     it from the command line or from within a batch file. It is more
  6427.     efficient, however, to load TbMem at boot up from either CONFIG.SYS or
  6428.     AUTOEXEC.BAT. See the "Introducing the TbMem, TbFile and TbDisk
  6429.     Utilities" section earlier in this chapter for details.
  6430.  
  6431.     CAUTION:
  6432.          You must load TbDriver before you can load TbMem. TbMem will refuse
  6433.          to load without it.
  6434.  
  6435.  
  6436.  
  6437.  
  6438.  
  6439.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 112
  6440.  
  6441.  
  6442.  
  6443.  
  6444.     3.7.6 Maximizing TbMem
  6445.  
  6446.     You can maximize the performance of TbMem by using its command line
  6447.     options. The first four options in the table below are always available.
  6448.     The other options are available only if TbMem is not yet memory resident.
  6449.  
  6450.          option parameter   short explanation
  6451.          ------------------ ----- ----------------------------------------
  6452.          help                ?    display on-line help
  6453.          remove              r    remove TbMem from memory
  6454.          on                  e    enable checking
  6455.          off                 d    disable checking
  6456.          secure              s    do not execute unauthorized TSRs
  6457.          hotkey<=keycode>    k    specify keyboard scancode for the program
  6458.                                   cancel hotkey
  6459.          nocancel            n    do not install the cancel hotkey
  6460.          nocmos              m    do not protect CMOS memory
  6461.  
  6462.  
  6463.     The explanations in the above table serve as a quick reference, but the
  6464.     follow descriptions provide more information about each option.
  6465.  
  6466.     TIP:
  6467.          Remember that you can display these options from the command line by
  6468.          entering TBMEM ?.
  6469.  
  6470.  
  6471.          help (?).
  6472.  
  6473.          Specifying this option displays the brief help as shown above.
  6474.  
  6475.  
  6476.          remove (r).
  6477.  
  6478.          This option disables TbMem and attempts to remove the resident part
  6479.          of its code from memory and return this memory space to the system.
  6480.          Unfortunately, this works only if you loaded TbMem last. An attempt
  6481.          to remove a TSR after you load another TSR leaves a useless gap in
  6482.          memory and could disrupt the interrupt chain. TbMem checks whether
  6483.          it is safe to remove its resident code; if not, it simply disables
  6484.          itself.
  6485.  
  6486.  
  6487.          on (e).
  6488.  
  6489.  
  6490.  
  6491.  
  6492.  
  6493.  
  6494.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 113
  6495.  
  6496.  
  6497.  
  6498.          This option reactivates TbMem after you disable it using the OFF
  6499.          option.
  6500.  
  6501.  
  6502.          off (d).
  6503.  
  6504.          Specifying this option disables TbMem but leaves it in memory.
  6505.  
  6506.  
  6507.          secure (s).
  6508.  
  6509.          TbMem normally asks the user to continue or to cancel when a program
  6510.          tries to remain resident in memory. In some business environments,
  6511.          however, employees should not make this choice. If you use this
  6512.          option, it is no longer possible to execute new or unknown resident
  6513.          software. It is also no longer possible to use the REMOVE or OFF
  6514.          options.
  6515.  
  6516.  
  6517.          hotkey (k).
  6518.  
  6519.          TbMem offers you a reliable way to escape from any program by
  6520.          pressing a special key combination. You can not only use this
  6521.          feature to escape from programs that "hang," but also from software
  6522.          that seems to be malicious (although we recommend powering down and
  6523.          rebooting from a write-protected system disk). Instead of the
  6524.          default combination (Ctrl+Alt+Insert), you can specify another
  6525.          keyboard combination using the HOTKEY=<KEYCODE> option. You must
  6526.          specify the scancode using a 4-digit hexadecimal number; the first
  6527.          two digits specify the shift-key mask, and the last two digits
  6528.          specify the keyboard scancode. Consult your PC manual for a list of
  6529.          "scan codes." For example, the default scan code is 0C52, but you
  6530.          can change this to another code, such as 0C01, the code for
  6531.          Ctrl+Alt+Esc.
  6532.  
  6533.  
  6534.          nocancel (n).
  6535.  
  6536.          TbMem normally installs the program cancel hot key
  6537.          (Ctrl+Alt+Insert). If you do not want to use the program cancel hot
  6538.          key, specify this option, since this saves a few bytes of memory.
  6539.  
  6540.  
  6541.          nocmos (m).
  6542.  
  6543.  
  6544.  
  6545.  
  6546.  
  6547.  
  6548.  
  6549.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 114
  6550.  
  6551.  
  6552.  
  6553.          TbMem normally protects the CMOS memory if available. If you do not
  6554.          want TbMem to do this, you can specify this option.
  6555.  
  6556.  
  6557.     The following command loads TbMem as a device driver in the CONFIG.SYS,
  6558.     configures the "program cancel hot key" as Ctrl+Alt+Esc, and cancels
  6559.     protection of CMOS memory:
  6560.  
  6561.             DEVICE=C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
  6562.  
  6563.     To achieve the same functionality, you could execute TbMem from the DOS
  6564.     command line rather then specifying the TbMem command line in the
  6565.     CONFIG.SYS by entering the following command at the DOS command line:
  6566.  
  6567.             C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
  6568.  
  6569.  
  6570.     3.7.7 Understanding TbMem's Operation
  6571.  
  6572.     If TbMem detects that a program tries to remain resident in memory, it
  6573.     displays a pop-up window displaying a message to that effect. You can
  6574.     either choose to continue, or to abort the program's loading. If you
  6575.     answer "NO" to the question "Remove program from memory?" the program
  6576.     continues undisturbed, and TbMem places a mark in the ANTI-VIR.DAT file
  6577.     about this program. Next time you invoke the same resident program, TbMem
  6578.     will not disturb you again.
  6579.  
  6580.     There are many programs that normally remain resident in memory, such as:
  6581.     disk caches, print spoolers, and others. How, then, does TbMem
  6582.     distinguish between these programs and viruses?
  6583.  
  6584.     TbMem uses the ANTI-VIR.DAT records generated by TbSetup to keep track of
  6585.     which files are normal TSRs and which are not. It marks most common
  6586.     resident software as being common so you don't have to worry about these
  6587.     files.
  6588.  
  6589.     If TbMem pops up with the message that a program tries to remain resident
  6590.     in memory, you have to consider the purpose of the program mentioned. For
  6591.     example, is the program supposed to continue to operate in the
  6592.     background? The answer is obviously yes if the program is a disk cache,
  6593.     print spooler, pop-up utility or system extension software.
  6594.  
  6595.     If, on the other hand, the message appears after you have exited your
  6596.     word processor, database, spreadsheet application, something is
  6597.     definitely wrong! You ought to terminate the program immediately and use
  6598.     a virus scanner to check the system. The same applies when software that
  6599.  
  6600.  
  6601.  
  6602.  
  6603.  
  6604.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 115
  6605.  
  6606.  
  6607.  
  6608.     operates normally without staying resident in memory suddenly changes its
  6609.     behavior and tries to remain resident in memory.
  6610.  
  6611.  
  6612.  
  6613.  
  6614.  
  6615.  
  6616.  
  6617.  
  6618.  
  6619.  
  6620.  
  6621.  
  6622.  
  6623.  
  6624.  
  6625.  
  6626.  
  6627.  
  6628.  
  6629.  
  6630.  
  6631.  
  6632.  
  6633.  
  6634.  
  6635.  
  6636.  
  6637.  
  6638.  
  6639.  
  6640.  
  6641.  
  6642.  
  6643.  
  6644.  
  6645.  
  6646.  
  6647.  
  6648.  
  6649.  
  6650.  
  6651.  
  6652.  
  6653.  
  6654.  
  6655.  
  6656.  
  6657.  
  6658.  
  6659.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 116
  6660.  
  6661.  
  6662.  
  6663.  
  6664.     3.8 Using TbFile
  6665.  
  6666.     This section concerns another resident TBAV utility, TbFile, which checks
  6667.     programs for virus infections as they begin to load.
  6668.  
  6669.  
  6670.     3.8.1 Understanding TbFile
  6671.  
  6672.     The two most dangerous virus categories are the boot sector and the file
  6673.     variants. File viruses all have a common purpose, namely, to infect
  6674.     programs. Infecting a program involves very unusual file manipulations
  6675.     that are quite dissimilar to normal file handling procedures, so in order
  6676.     to detect viral activity it is essential to keep an eye out for program
  6677.     file changes involving peculiar actions.
  6678.  
  6679.     TbFile monitors the system and detects attempts by programs to infect
  6680.     other programs. Unlike other file guards, TbFile monitors the system only
  6681.     for virus specific file modifications. TbFile doesn't generate an alarm
  6682.     when a program modifies itself for configuration purposes, nor does it
  6683.     bother you when you update a program or create one yourself. On an
  6684.     average system, configurations should never cause a false alarm. TbFile
  6685.     has a very sophisticated infection detector and will not give a false
  6686.     alarm when you perform standard file operations. In normal configurations
  6687.     you will never get a false alarm!
  6688.  
  6689.     TbFile not only detects attempts to infect programs, it also offers you
  6690.     the option of aborting the infection process and continuing a program's
  6691.     execution.
  6692.  
  6693.     TbFile also detects other suspicious activities, including setting the
  6694.     seconds value of time stamps to an illegal value.
  6695.  
  6696.     TIP:
  6697.          As many users know, you can protect files against unwanted
  6698.          modifications by means of the read-only attribute. Without TbFile,
  6699.          however, someone can easily circumvent this standard DOS protection.
  6700.          TbFile detects any attempts to sabotage the read-only attribute.
  6701.          This gives you added security by enabling you to use this
  6702.          uncomplicated method to fully protect your files against
  6703.          destruction and infection.
  6704.  
  6705.     TbFile is fully network compatible. It does not require you to reload the
  6706.     checker after logging onto a network. In contrast, other resident
  6707.     anti-virus utilities force you to choose between protection BEFORE you
  6708.     start the network, or protection AFTER you start network, but not both.
  6709.  
  6710.  
  6711.  
  6712.  
  6713.  
  6714.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 117
  6715.  
  6716.  
  6717.  
  6718.  
  6719.     3.8.2 Working with TbFile
  6720.  
  6721.     Since TbFile is a memory resident program, you can execute and configure
  6722.     it from the command line or from within a batch file. It is more
  6723.     efficient, however, to load TbFile at boot up from either CONFIG.SYS or
  6724.     AUTOEXEC.BAT.  See the "Introducing the TbMem, TbFile and TbDisk
  6725.     Utilities" section earlier in this chapter for details.
  6726.  
  6727.     CAUTION:
  6728.          You must load TbDriver before you can load TbFile. TbFile will
  6729.          refuse to load without it.
  6730.  
  6731.  
  6732.     3.8.3 Maximizing TbFile
  6733.  
  6734.     You can maximize the performance of TbFile by using its command line
  6735.     options. The first four options in the table below are always available.
  6736.     The other options are available only if TbFile is not yet memory
  6737.     resident.
  6738.  
  6739.          option parameter   short explanation
  6740.          ------------------ ----- ------------------------------
  6741.          help                ?    display on-line help
  6742.          remove              r    remove TbFile from memory
  6743.          on                  e    enable checking
  6744.          off                 d    disable checking
  6745.          secure              s    all permissions denied
  6746.          allattrib           a    readonly check on all files
  6747.          compat              c    allow CPM-style file I/O calls
  6748.  
  6749.     The explanations in the above table serve as a quick reference, but the
  6750.     following descriptions provide more information about each option.
  6751.  
  6752.     TIP:
  6753.          Remember that you can display these options from the command line by
  6754.          entering TBFILE ?.
  6755.  
  6756.  
  6757.          help (?).
  6758.  
  6759.          Specifying this option displays the brief help shown above.
  6760.  
  6761.  
  6762.          remove (r).
  6763.  
  6764.  
  6765.  
  6766.  
  6767.  
  6768.  
  6769.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 118
  6770.  
  6771.  
  6772.  
  6773.          This option disables TbFile and attempts to remove the resident part
  6774.          of its code from memory and return this memory space to the system.
  6775.          Unfortunately, this works only if you loaded TbFile last. An attempt
  6776.          to remove a TSR after you load another TSR leaves a useless gap in
  6777.          memory and could disrupt the interrupt chain. TbFile checks whether
  6778.          it is safe to remove its resident code; if not, it simply disables
  6779.          itself.
  6780.  
  6781.  
  6782.          on (e).
  6783.  
  6784.          This option reactivates TbFile after you disabled it using the OFF
  6785.          option.
  6786.  
  6787.  
  6788.          off (d).
  6789.  
  6790.          Specifying this options disable TbFile, but leaves it in memory.
  6791.  
  6792.  
  6793.          secure (s).
  6794.  
  6795.          TbFile normally asks you to continue or to cancel when a program
  6796.          tries to perform a suspicious operation. In some business
  6797.          environments, however, employees should not make this decision. If
  6798.          you use the SECURE option, it is no longer possible to allow
  6799.          suspicious operations. It is also no longer possible to use the OFF
  6800.          and REMOVE options.
  6801.  
  6802.  
  6803.          allattrib (a).
  6804.  
  6805.          TbFile normally protects only the read-only attribute of executable
  6806.          files (program files with the extension COM and EXE). If you want to
  6807.          have the read-only check on all files, add this option. In this case
  6808.          you always get an alarm when something attempts to remove the
  6809.          read-only attribute of any file.
  6810.  
  6811.  
  6812.          compat (c).
  6813.  
  6814.          DOS still contains some CPM (an earlier operating system) internal
  6815.          functions, even though DOS programs no longer use these functions.
  6816.          Some viruses, however, use these functions to bypass anti-virus
  6817.          software. TbFile closes these backdoors by default, but you can
  6818.          prevent this by specifying this option.
  6819.  
  6820.  
  6821.  
  6822.  
  6823.  
  6824.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 119
  6825.  
  6826.  
  6827.  
  6828.  
  6829.     The following command loads as a device driver in CONFIG.SYS and it
  6830.     guards the read-only attribute of all files:
  6831.  
  6832.              DEVICE=C:\TBAV\TBFILE.EXE ALLATTRIB
  6833.  
  6834.     To achieve the same functionality, you could execute TbFile from the DOS
  6835.     command line rather then specifying the TbFile command line in the
  6836.     CONFIG.SYS by entering the following command at the command line:
  6837.  
  6838.              C:\TBAV\TBFILE.EXE ALLDRIVES
  6839.  
  6840.  
  6841.  
  6842.  
  6843.  
  6844.  
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.  
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.  
  6872.  
  6873.  
  6874.  
  6875.  
  6876.  
  6877.  
  6878.  
  6879.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 120
  6880.  
  6881.  
  6882.  
  6883.  
  6884.     3.9 Using TbDisk
  6885.  
  6886.     This section deals with TbDisk, which prevents viruses from damaging data
  6887.     on your hard disk.
  6888.  
  6889.  
  6890.     3.9.1 Understanding TbDisk
  6891.  
  6892.     Many viruses try to damage the data on disk. They accomplish this by
  6893.     various actions, such as, formatting the disk, overwriting the FAT, and
  6894.     swapping disk sectors, among others. Almost anything is possible!
  6895.  
  6896.     Another category of malicious software, known as  boot sector virus
  6897.     droppers,  install a boot sector virus on the disk. The program itself is
  6898.     not a virus, so detection with virus scanners and other anti-viral
  6899.     software is very difficult. The only way to detect such a program is by
  6900.     monitoring its behavior.
  6901.  
  6902.     The main problem in all this lies in the way these programs manage to
  6903.     avoid the usual DOS procedures: they go directly to the BIOS (Basic
  6904.     Input/Output System). This is the reason you need TbDisk, to monitor the
  6905.     system and to ensure that no program can write directly to disk without
  6906.     permission. TbDisk draws attention to any software that attempts to write
  6907.     directly to disk, thereby reducing the likelihood of a virus remaining
  6908.     unnoticed. TbDisk prevents viruses from damaging data on your disk and
  6909.     stops boot sector virus droppers in their tracks.
  6910.  
  6911.     TbDisk not only informs you when a program tries to write directly to the
  6912.     disk, it also offers you the option to abort the program before it can
  6913.     cause any damage.
  6914.  
  6915.     TbDisk is able to detect  stealth  techniques, that is, attempts to
  6916.     single step through the BIOS software, and even monitors the use of
  6917.     undocumented calls that could cause disk damage. For example, TbDisk is
  6918.     able to distinguish whether DOS or an application makes direct write
  6919.     attempts via Int 13h (a system call implemented in the BIOS of your
  6920.     computer). Direct writes are perfectly legal for DOS, but unusual for
  6921.     application software.
  6922.  
  6923.     TbDisk does require a little maintenance. TbDisk uses the ANTI-VIR.DAT
  6924.     records to determine if it should allow a program (including popular disk
  6925.     utilities, which TbSetup recognizes) to write directly to the disk. In
  6926.     the absence of an ANTI-VIR.DAT record, TbDisk asks your permission first
  6927.     and, if granted it, updates the record accordingly to avoid repeated
  6928.     warnings about the same program.
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 121
  6935.  
  6936.  
  6937.  
  6938.     TbDisk is fully network compatible. It does not require you to reload the
  6939.     program after logging onto a network. Other resident anti-virus utilities
  6940.     force you to choose between either protection BEFORE the network is
  6941.     started, or protection AFTER it starts, but not both..
  6942.  
  6943.     TIP:
  6944.          TbDisk also comes in handy if you ever need to write protect a hard
  6945.          disk. This bonus feature often helps when testing new software.
  6946.  
  6947.  
  6948.     3.9.2 Working with TbDisk
  6949.  
  6950.     Since TbDisk is a memory resident program, you can execute and configure
  6951.     it from the command line or from within a batch file. It is more
  6952.     efficient, however, to load TbFile at boot up from either CONFIG.SYS or
  6953.     AUTOEXEC.BAT.  See the "Introducing the TbMem, TbFile and TbDisk
  6954.     Utilities" section earlier in this chapter for details.
  6955.  
  6956.     CAUTION:
  6957.          You must load TbDriver before you can load TbDisk. TbDisk will
  6958.          refuse to load without it.
  6959.  
  6960.     In addition to all this, there are several special considerations in
  6961.     using TbDisk.
  6962.  
  6963.  
  6964.     Loading TbDisk
  6965.  
  6966.     Improper installation of TbDisk can cause excessive false alarms! If you
  6967.     want to install TbDisk in your CONFIG.SYS or AUTOEXEC.BAT file, we
  6968.     recommend that you use the INSTALL option of TbDisk first. If the system
  6969.     continues to behave normally and TbDisk does not give false alarms when
  6970.     you copy files on your hard disk, TbDisk is installed correctly and you
  6971.     can remove the INSTALL option from the command.
  6972.  
  6973.     WARNING:
  6974.          Failure to use the Install option when you install TbDisk in
  6975.          CONFIG.SYS or AUTOEXEC.BAT file might cause loss of data! Please
  6976.          read on.
  6977.  
  6978.     While the INSTALL option instructs TbDisk to allow all disk accesses, it
  6979.     also displays a message as it would do in normal mode. If no false alarms
  6980.     occur when you copy files on your hard disk, TbDisk is installed
  6981.     correctly and you can remove the INSTALL option.
  6982.  
  6983.  
  6984.  
  6985.  
  6986.  
  6987.  
  6988.  
  6989.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 122
  6990.  
  6991.  
  6992.  
  6993.     If TbDisk causes false alarms, load TbDisk further ahead in your
  6994.     CONFIG.SYS or AUTOEXEC.BAT file until it works as it should.
  6995.  
  6996.     CAUTION:
  6997.          Unlike the other TBAV utilities, we recommend that you load TbDisk
  6998.          after other resident software!  Failure to do so can cause  false
  6999.          alarms!
  7000.  
  7001.  
  7002.     TbDisk detects if Windows is running and automatically switches into
  7003.     multitasking mode if necessary. You can even disable TbDisk in one window
  7004.     without affecting the functionality in another. If you are using Windows
  7005.     fast 32-bit disk access, you might need to use TbDisk's WIN32 option if
  7006.     Windows displays an error-message.
  7007.  
  7008.  
  7009.     3.9.3 Maximizing TbDisk
  7010.  
  7011.        You can maximize TbDisk's performance by using its command
  7012.        line options. The first four options are always available.
  7013.        The other options are available only if TbDisk is not yet
  7014.        memory resident.
  7015.  
  7016.          option parameter   short explanation
  7017.          ------------------ ----- -----------------------------------
  7018.          help                ?    display on-line help
  7019.          remove              r    remove TbDisk from memory
  7020.          on                  e    enable checking
  7021.          off                 d    disable checking
  7022.          wrprot              p    makes hard disk write protected
  7023.          nowrprot            n    allow writes to hard disk
  7024.          win32               w    allow Windows 32-bit disk access
  7025.          secure              s    deny access without asking first
  7026.          notunnel            t    do not detect tunneling
  7027.          nostealth           a    do not detect stealth disk access
  7028.          install             i    installation test mode
  7029.  
  7030.     The explanations in the above table serve as a quick reference, but the
  7031.     following descriptions provide more information about each option.
  7032.  
  7033.     TIP:
  7034.          Remember that you can display these options from the command line by
  7035.          entering TBDISK ?.
  7036.  
  7037.          help (?).
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 123
  7045.  
  7046.  
  7047.  
  7048.          Specifying this option displays the brief help as shown above. After
  7049.          loading TbDisk into memory, not all options appear.
  7050.  
  7051.  
  7052.          remove (r).
  7053.  
  7054.          This option disables TbDisk and attempts to remove the resident part
  7055.          of its code from memory and return this memory space to the system.
  7056.          Unfortunately, this works only if you loaded TbDisk last. An attempt
  7057.          to remove a TSR after you load another TSR leaves a useless gap in
  7058.          memory and could disrupt the interrupt chain. TbDisk checks whether
  7059.          it is safe to remove its resident code; if not, it simply disables
  7060.          itself.
  7061.  
  7062.  
  7063.          on (e).
  7064.  
  7065.          This option activates TbDisk after you disabled it using the OFF
  7066.          option.
  7067.  
  7068.  
  7069.          off (d).
  7070.  
  7071.          Specifying this option disables TbDisk but leaves it in memory.
  7072.  
  7073.  
  7074.          wrprot (p).
  7075.  
  7076.          Hard disks are more difficult to protect against writing than
  7077.          floppies, which adds considerable risk when doing such things as
  7078.          testing new software. Sometimes you might want to find out what this
  7079.          software does to your hard disk and how this could possibly affect
  7080.          your valuable data. Using the "WRPROT" option makes this safer to
  7081.          do. Whenever a program wishes to write to a protected disk, you will
  7082.          see a message such as:
  7083.  
  7084.           Write protect error writing drive C: A)bort, R)etry, I)gnore?
  7085.  
  7086.          You can then take the appropriate action.
  7087.  
  7088.          CAUTION:
  7089.               Software write protection is not absolutely reliable. Some
  7090.               viruses can bypass this protection, but fortunately they are
  7091.               few and far between. Despite its shortcomings, this option can
  7092.               be a valuable shield against most malicious software.
  7093.  
  7094.  
  7095.  
  7096.  
  7097.  
  7098.  
  7099.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 124
  7100.  
  7101.  
  7102.  
  7103.          nowrprot (n).
  7104.  
  7105.          Use this option to undo the WRPROT option.
  7106.  
  7107.  
  7108.          win32 (w).
  7109.  
  7110.          Windows 386 Enhanced Mode uses some undocumented DOS calls to
  7111.          retrieve the original BIOS disk handler when you enable 32-bit disk
  7112.          access. Since TbDisk guards these calls, 32-bit disk access will no
  7113.          longer be possible, unless you specify the WIN32 option when you
  7114.          initialize TbDisk.
  7115.  
  7116.          CAUTION:
  7117.               Use this option only in Windows 386 Enhanced Mode with fast
  7118.               32-bit disk access enabled as it reduces anti-viral security to
  7119.               some extent.
  7120.  
  7121.  
  7122.          secure (s).
  7123.  
  7124.          TbDisk normally asks whether the user wants to continue or cancel
  7125.          when a program tries to perform direct disk access. In some business
  7126.          environments, however, employees should not make this decision. This
  7127.          option disables direct disk access permission to new or unknown
  7128.          software. It also disables the OFF and REMOVE options.
  7129.  
  7130.  
  7131.          notunnel (t).
  7132.  
  7133.          "Tunneling" is a technique viruses apply to determine the location
  7134.          of the DOS system code in memory, and to use that address to
  7135.          communicate with DOS directly. This inactivates all TSR programs,
  7136.          including resident anti-virus software. TbDisk is able to detect
  7137.          these "tunneling" attempts, and informs you about it. Some other
  7138.          anti-virus products also rely on tunneling techniques to bypass
  7139.          resident viruses, thereby causing false alarms. If you are currently
  7140.          executing other anti-viral products, the NOTUNNEL option disables
  7141.          TbDisk's tunneling detection.
  7142.  
  7143.  
  7144.          nostealth (a).
  7145.  
  7146.          TbDisk tries to detect direct calls into the BIOS. If such an
  7147.          attempt occurs, TbDisk pops up with a message that something is
  7148.  
  7149.  
  7150.  
  7151.  
  7152.  
  7153.  
  7154.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 125
  7155.  
  7156.  
  7157.  
  7158.          accessing the disk in an unusual way. If this feature causes false
  7159.          alarms, you can use this option to turn it off.
  7160.  
  7161.  
  7162.          install (i).
  7163.  
  7164.          Incorrect installation can result in a large number of false alarms.
  7165.          You should use this option when installing TbDisk because it reduces
  7166.          the risk of canceling a valid disk write operation as a result of
  7167.          false alarms.
  7168.  
  7169.  
  7170.     3.9.4 Understanding TbDisk's Operation
  7171.  
  7172.     What is Direct Disk Access? Programs usually access files through the
  7173.     operating system (DOS). Whenever a program wants to update a file, for
  7174.     example, it asks DOS to write the data to disk. It is also possible,
  7175.     however, to write to a disk without using DOS. This is called  direct
  7176.     disk access.
  7177.  
  7178.     While normal programs do not write to the disk directly, there are some
  7179.     programs that need to do so, including:
  7180.  
  7181.          Format utilities. Direct disk access is the only way to format a
  7182.          disk.
  7183.  
  7184.          Disk diagnosis utilities (such as the Norton Disk Doctor, and DOS's
  7185.          CHKDSK command and ScanDisk utility).
  7186.  
  7187.          Disk optimizers and defragmenters (such as Norton SpeedDisk and
  7188.          DOS's Defrag utility).
  7189.  
  7190.     Since many viruses can perform direct disk access, it is essential to
  7191.     control this. TbDisk can distinguish between legitimate programs and a
  7192.     virus with the help of the ANTI-VIR.DAT records, which you can generate
  7193.     using TbSetup.
  7194.  
  7195.     Whenever TbDisk pops up a message that says a program accesses to the
  7196.     disk directly, consider its purpose carefully. While it is perfectly
  7197.     acceptable for a format utility or a disk optimizer to format or edit
  7198.     disk sectors, this is not acceptable for a word processor or database.
  7199.     When TbDisk warns you that a spreadsheet or some other  normal  program
  7200.     is about to format a sector, you can be sure that something is wrong.
  7201.     Terminate the program pronto! Then check things out with a virus scanner
  7202.     before the worst happens.
  7203.  
  7204.  
  7205.  
  7206.  
  7207.  
  7208.  
  7209.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 126
  7210.  
  7211.  
  7212.  
  7213.  
  7214.     3.10 Using TbUtil
  7215.  
  7216.     This section describes TbUtil, which is designed primarily to make a
  7217.     precautionary backup of clean partition tables and boot sectors.
  7218.  
  7219.  
  7220.     3.10.1 Understanding and using TbUtil
  7221.  
  7222.     TbUtil provides a defense against partition table and boot sector
  7223.     viruses. TbUtil can be used to:
  7224.  
  7225.          Copy the partition table, boot sector and CMOS data area into a
  7226.          file. You can use TbUtil on a regular basis to compare both the
  7227.          current and the  original versions of the partition table, boot
  7228.          sector and CMOS data area. After an accident virus, (virus or
  7229.          otherwise), you can restore the copy using the TbUtil program.
  7230.  
  7231.          Remove a partition table virus without having to low-level format
  7232.          the hard disk, even if there is no backup of the partition table.
  7233.  
  7234.          Remove boot sector viruses and creates a partition table that has
  7235.          some first-line virus defenses built-in.
  7236.  
  7237.          Replace the infected or clean boot sector with a safe TBAV boot
  7238.          sector.
  7239.  
  7240.     NOTE:
  7241.          What is a partition table? A physical hard disk might consist of
  7242.          more than one "partition" (or division). Each partition is a logical
  7243.          disk drive and has it own ID, such as C:, D:, and E:. The  partition
  7244.          table,  then, contains the disk lay-out and the starting and ending
  7245.          cylinder of every partition. The partition table also contains
  7246.          information about the operating system of a partition and which
  7247.          partition should be used to boot. The partition table (also called
  7248.          the Master Boot Record, or MBR) always resides at the very first
  7249.          sector of the hard disk.
  7250.  
  7251.     Unlike most file viruses, partition table viruses are hard to remove. The
  7252.     only solution is to low-level format the hard disk and to make a new
  7253.     partition table, or to make use of  scantily documented DOS commands.
  7254.  
  7255.     TbUtil, however, makes a backup of the partition table and boot sector
  7256.     and uses this backup to compare and restore both the original partition
  7257.     table and boot sector once they become infected. You no longer have to
  7258.  
  7259.  
  7260.  
  7261.  
  7262.  
  7263.  
  7264.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 127
  7265.  
  7266.  
  7267.  
  7268.     format your disk to get rid of a partition table or boot sector virus.
  7269.     The program can also restore the CMOS configuration.
  7270.  
  7271.     Optionally, TbUtil replaces the partition table code with an immunized
  7272.     partition table containing facilities against viruses. The TbUtil
  7273.     partition code executes before the boot sector gains control, so it is
  7274.     able to check the boot sector in a clean environment. Once the boot
  7275.     sector executes, it is difficult to check it because the virus is already
  7276.     resident in memory and can deceive a protection scheme. Instead of
  7277.     booting from a clean DOS diskette just to inspect the boot sector, the
  7278.     TbUtil partition code performs a CRC calculation on the boot sector just
  7279.     before passing control to it.
  7280.  
  7281.     If TbUtil detects a change in the boot sector, the TbUtil partition code
  7282.     warns you about it. The TbUtil partition code also checks the RAM layout
  7283.     and informs you when it changes. TbUtil does all of this every time you
  7284.     boot from your hard disk.
  7285.  
  7286.     TbUtil can replace infected and clean diskette boot sectors with a new
  7287.     and specialized boot sector, which has several advantages over the
  7288.     standard boot sector:
  7289.  
  7290.          It has boot sector virus detection capabilities.
  7291.  
  7292.          It performs a sanity check.
  7293.  
  7294.          It offers you the possibility to redirect the boot process to the
  7295.          hard disk without opening the diskette drive door.
  7296.  
  7297.  
  7298.  
  7299.     3.10.2 Working with the TbUtil Menu
  7300.  
  7301.     The TbUtil module contains several programs, which you can execute from
  7302.     either the TbUtil Menu or, in case of an emergency, from a TbUtil recove-
  7303.     ry diskette using the DOS command line.  The menu, however, offers some
  7304.     additional menu options. Selecting the "TbUtil" option from the TBAV Main
  7305.     Menu displays the following menu:
  7306.  
  7307.  
  7308.  
  7309.  
  7310.  
  7311.  
  7312.  
  7313.  
  7314.  
  7315.  
  7316.  
  7317.  
  7318.  
  7319.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 128
  7320.  
  7321.  
  7322.  
  7323.              +------Main menu------+
  7324.              |  Confi+-----------TbUtil menu-----------+
  7325.              |  TbSet|  System maintenance menu       >|
  7326.              |  TbSca|  Immunize/clean bootsector A:   |
  7327.              |  TbUti|  Immunize/clean bootsector B:   |
  7328.              |  TbCLe|  Immunize/clean partition code  |
  7329.              |  Virus+---------------------------------+
  7330.              |  TBAV Monitor      >|
  7331.              |  Documentation     >|
  7332.              |  Register TBAV      |
  7333.              |  About              |
  7334.              |  Quit and save      |
  7335.              |  eXit (no save)     |
  7336.              +---------------------+
  7337.  
  7338.     We'll now explore these menu options.
  7339.  
  7340.     The "System Maintenance Menu" Option
  7341.  
  7342.     Selecting the "System maintenance menu" option displays the System
  7343.     Maintenance menu:
  7344.  
  7345.              +------Main menu------+
  7346.              |  Confi+-----------TbUtil menu-----------+
  7347.              |  TbSet|  Syste+-------System maintenance-------+
  7348.              |  TbSca|  Immun|  Execute TbUtil                |
  7349.              |  TbUti|  Immun|  Describe this machine         |
  7350.              |  TbCLe|  Immun|  Save system configuration     |
  7351.              |  Virus+-------|v Compare system configuration  |
  7352.              |  TBAV Monitor |  Restore system configuration  |
  7353.              |  Documentation|v process CMOS memory           |
  7354.              |  Register TBAV|v process Partition code        |
  7355.              |  About        |v process Bootsector            |
  7356.              |  Quit and save+--------------------------------+
  7357.              |  eXit (no save)     |
  7358.              +---------------------+
  7359.  
  7360.     This menu contains the actual TbUtil program. The program takes care of
  7361.     saving, restoring or comparing the system configuration of your PC. It
  7362.     stores the backup system configuration on a diskette in a file with
  7363.     either a default name or a name you can specify yourself.
  7364.  
  7365.     WARNING:
  7366.          You can only restore a system configuration data file on the machine
  7367.          that created the data file. Restoring a configuration file from one
  7368.          PC to another makes the PC inaccessible!
  7369.  
  7370.  
  7371.  
  7372.  
  7373.  
  7374.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 129
  7375.  
  7376.  
  7377.  
  7378.     The "System Maintenance Menu" contains the following items:
  7379.  
  7380.          Execute TbUtil.
  7381.  
  7382.          Before activating this option, you must select one of the optional
  7383.          functions: Save, Compare, or Restore the system configuration. Move
  7384.          to the desired option you want to activate and press ENTER. A check
  7385.          mark indicates that an option is active.
  7386.  
  7387.  
  7388.          Describe this machine.
  7389.  
  7390.          Enter a meaningful description of the machine. Enter something like,
  7391.          "486DX4 @ 100MHz, 32Mb,  2 Gb SCSI disk, room 12, Mr. Smith." You do
  7392.          NOT have to remember this description; TbUtil displays it on the
  7393.          screen when comparing or restoring, which helps you to verify that
  7394.          the data file belongs to the machine.
  7395.  
  7396.  
  7397.          Save system configuration.
  7398.  
  7399.          This option stores the partition table, boot sector and CMOS data
  7400.          area into the TbUtil data file.
  7401.  
  7402.  
  7403.     WARNING:
  7404.          Since the PC is completely inaccessible to DOS if the partition
  7405.          table becomes damaged, we RECOMMEND that you store both the TbUtil
  7406.          data file AND the program TBUTIL.EXE itself on a "rescue"  diskette!
  7407.          If the partition table is damaged or destroyed, then the only
  7408.          solution to the problem may reside on the "rescue"
  7409.          diskette, since your hard drive may be inaccessible!
  7410.  
  7411.          When loading TbUtil from the command line you must specify a
  7412.          filename after the STORE option. In contrast, using the TBAV menu,
  7413.          you can use the default filename TBUTIL.DAT. If you own more than
  7414.          one PC, we recommend that you create one TbUtil diskette with all
  7415.          TbUtil data files of all your PC's on it. Use the extension of the
  7416.          file for PC identification, as in the following:
  7417.  
  7418.                  A:TBUTIL.<NUMBER>
  7419.  
  7420.          Compare system configuration.
  7421.  
  7422.          This option enables you to check on a regular basis that everything
  7423.          is still okay. If you specify this option, TbUtil compares the
  7424.  
  7425.  
  7426.  
  7427.  
  7428.  
  7429.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 130
  7430.  
  7431.  
  7432.  
  7433.          information in the TbUtil data file against the partition table,
  7434.          boot sector, and CMOS data areas. It also  displays the comment
  7435.          stored in the data file. Using this option also guarantees that the
  7436.          TbUtil data file is still readable.
  7437.  
  7438.  
  7439.          Restore system configuration.
  7440.  
  7441.          This option enables you to restore the partition table, boot sector,
  7442.          and CMOS data area. It asks you to confirm that the data file
  7443.          belongs to the current machine. Finally, it can restore the
  7444.          partition table, boot sector of the partition to be used to boot,
  7445.          and the CMOS data area.
  7446.  
  7447.  
  7448.          Process CMOS memory,
  7449.          Process Partition code,  and
  7450.          Process Boot sector.
  7451.  
  7452.          By default, TbUtil restores the partition code, boot sector, and
  7453.          CMOS if you specify the "Restore system configuration" option. If
  7454.          you use one of the above options in combination with the "Restore
  7455.          option," TbUtil restores only the items you specify.
  7456.  
  7457.  
  7458.     The "Immunize/Clean Boot sector A: [or] B:" Options
  7459.  
  7460.     You can use these options to clean diskettes infected by a boot sector
  7461.     virus or to replace the standard boot sector with a boot sector  that has
  7462.     advantages over the original one:
  7463.  
  7464.          The TBAV boot sector has virus detection capabilities. The TBAV boot
  7465.          sector checks that it resides on the correct place on the diskette,
  7466.          and that Int 13h and/or Int 40h still exist in system ROM. This
  7467.          makes it possible to detect even stealth and boot sector viruses.
  7468.  
  7469.          The TBAV boot sector can load the system files if they are available
  7470.          on the disk, but if the DOS system files are not on the disk, the
  7471.          TBAV boot sector displays a small menu offering you two
  7472.          possibilities: retry the boot operation with another diskette, or
  7473.          boot from the hard disk. If you select the latter, you don't have to
  7474.          open the diskette drive door.
  7475.  
  7476.  
  7477.     The "Immunize/Clean Partition Code" Option
  7478.  
  7479.  
  7480.  
  7481.  
  7482.  
  7483.  
  7484.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 131
  7485.  
  7486.  
  7487.  
  7488.          This is an extremely powerful option, which you can use to clean an
  7489.          infected partition table if there is no TbUtil data file. It saves
  7490.          the original partition code in a file and replaces the existing
  7491.          partition table code with a new partition routine that contains some
  7492.          virus detection capabilities. You must execute TbUtil from a floppy
  7493.          drive or you have to specify the name of the file (the specified
  7494.          drive should be a diskette drive) to store the original partition
  7495.          code.
  7496.  
  7497.          If the original partition table becomes irreparably damaged and
  7498.          can't be used to build a new one, TbUtil scans the entire disk for
  7499.          information about the original disk layout. TbUtil also searches for
  7500.          TbUtil data files on the hard disk.
  7501.  
  7502.          CAUTION:
  7503.               While it is a good idea to keep a copy of the data file on the
  7504.               hard disk, we recommend that you store the data file on a
  7505.               diskette. Just in case!
  7506.  
  7507.          If your system configuration changes, that is, you update your DOS
  7508.          version or change the amount of memory, you need to update the
  7509.          information stored in the immune partition as well. You can do this
  7510.          by using this option.
  7511.  
  7512.          In the unlikely event that the system does not boot properly, you
  7513.          can restore the original partition table using the TbUtil RESTORE
  7514.          option (refer to  The  "System Maintenance Menu  Option" section
  7515.          above) or by using the DOS version 5 or above FDISK /MBR command
  7516.          (which creates a new partition table).
  7517.  
  7518.          TIP:
  7519.               If you have installed two hard drives in your computer, you can
  7520.               immunize the partition code of the second hard drive by
  7521.               specifying the physical drive number rather than the drive ID
  7522.               (i.e., execute the command TbUtil 2: )
  7523.  
  7524.          If the new partition code works properly, you should make a backup
  7525.          copy of it on a diskette using the TbUtil STORE option (refer to
  7526.          The "System Maintenance Menu  Option" section above).
  7527.  
  7528.  
  7529.     3.10.3 Maximizing TbUtil
  7530.  
  7531.     This section describes how to fully maximize TbUtil in three ways: use
  7532.     command line option, use the anti-virus partition, use the TbUtil
  7533.     diskette.
  7534.  
  7535.  
  7536.  
  7537.  
  7538.  
  7539.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 132
  7540.  
  7541.  
  7542.  
  7543.     Now that you know how to use TbUtil's menus, you can more easily
  7544.     understand how to maximize its performance by using its command line
  7545.     options.
  7546.  
  7547.          option parameter   short explanation
  7548.          ------------------ ----- -------------------------------------
  7549.          immunize <drive>     im  Immunize/Clean boot sector or MBR of
  7550.                                   <drive>
  7551.          getboot <drive>      gb  Save boot sector/MBR into file
  7552.          store [<filename>]   st  Store system information
  7553.          restore [<filename>] re  Restore system information
  7554.          compare [<filename>] co  Compare system information
  7555.  
  7556.          Sub-options of  immunize  option:
  7557.          --------------------------------------------------------------
  7558.          norepeat             nr  Do not ask for next diskette
  7559.          nomem                nm  Do not check for amount of RAM
  7560.          batch                ba  Do not prompt to insert a disk
  7561.  
  7562.          Sub-options of  store  option:
  7563.          --------------------------------------------------------------
  7564.          description=<descr.> de  Add description to data file
  7565.  
  7566.          Sub-options of  restore  option:
  7567.          --------------------------------------------------------------
  7568.          part                 pt  Restore partition table
  7569.          boot                 bo  Restore boot sector of hard disk
  7570.          cmos                 cm  Restore CMOS data memory
  7571.  
  7572.     The explanations in the above table serve as a quick reference, but the
  7573.     following descriptions provide more information about each option.
  7574.  
  7575.  
  7576.          Immunize <floppy drive> (im).
  7577.  
  7578.          You can use this option to clean diskettes infected by a boot sector
  7579.          virus or to replace the standard boot sector by a boot sector that
  7580.          has advantages over the original one:
  7581.  
  7582.               The TBAV boot sector has virus detection capabilities. The boot
  7583.               sector checks that it still resides on the correct place on the
  7584.               diskette, and that Int 13h and/or Int 40h still exist in system
  7585.               ROM. This makes it possible to detect even  stealth  and boot
  7586.               sector viruses.
  7587.  
  7588.  
  7589.  
  7590.  
  7591.  
  7592.  
  7593.  
  7594.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 133
  7595.  
  7596.  
  7597.  
  7598.               The TBAV boot sector is able to load the system files if they
  7599.               are available on the disk, but if the DOS system files are not
  7600.               on the disk, the TBAV boot sector displays a small menu
  7601.               offering you two possibilities: retry the boot operation with
  7602.               another diskette, or boot from the hard disk. If you select the
  7603.               latter, you don't have to open the diskette drive door.
  7604.  
  7605.  
  7606.          Immunize c: (im c:).
  7607.  
  7608.          This is an extremely powerful option, which you can use to clean an
  7609.          infected partition table if there is no TbUtil data file. It saves
  7610.          the original partition code in a file and replaces the existing
  7611.          partition table code with a new partition routine that contains some
  7612.          virus detection capabilities. You have to execute TbUtil from a
  7613.          floppy drive or you have to specify the name of the file (the
  7614.          specified drive should be a diskette drive) to store the original
  7615.          partition code.
  7616.  
  7617.          TIP:
  7618.               If you have installed two hard drives in your computer, you can
  7619.               immunize the partition code of the second hard drive by
  7620.               specifying the physical drive number rather than the drive ID
  7621.               (i.e., execute the command TbUtil 2: )
  7622.  
  7623.          If the original partition table becomes irreparably damaged and
  7624.          consequently can't be used to build a new one, TbUtil scans the
  7625.          entire disk for information about the original disk layout. TbUtil
  7626.          also searches for TbUtil data files on the hard disk.
  7627.  
  7628.          CAUTION:
  7629.               While it is a good idea to keep a copy of the data file on the
  7630.               hard disk, we recommend that you store the data file on a
  7631.               diskette. Just in case!
  7632.  
  7633.          If your system configuration changes, that is, you update your DOS
  7634.          version or change the amount of memory, you need to update the
  7635.          information stored in the immune partition as well. You can do this
  7636.          by using this option.
  7637.  
  7638.          In the unlikely event that the system does not boot properly, you
  7639.          can restore the original partition table using the TbUtil RESTORE
  7640.          option (refer to  The "System Maintenance Menu  Option" section
  7641.          above) or by using the DOS version 5 or above FDISK /MBR command
  7642.          (which creates a new partition table).
  7643.  
  7644.  
  7645.  
  7646.  
  7647.  
  7648.  
  7649.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 134
  7650.  
  7651.  
  7652.  
  7653.          getboot <drive> (gb).
  7654.  
  7655.          With this option you can copy the boot sector of the specified drive
  7656.          into a file.
  7657.  
  7658.  
  7659.          store [<filename>] (st).
  7660.  
  7661.          This option stores the partition table, boot sector and CMOS data
  7662.          area into the TbUtil data file.
  7663.  
  7664.          WARNING:
  7665.               Since the PC is completely inaccessible to DOS if the partition
  7666.               table becomes damaged, we RECOMMEND that you store both the
  7667.               TbUtil data file AND the program TBUTIL.EXE itself on a  rescue
  7668.               diskette!  If the partition table is damaged or destroyed, then
  7669.               the only solution to the problem may reside on the "rescue"
  7670.               diskette, since your hard drive may be inaccessible!
  7671.  
  7672.          When loading TbUtil from the command line you must specify a
  7673.          filename after the STORE option. In contrast, using the TBAV menu,
  7674.          you can use the default filename TBUTIL.DAT. If you own more than
  7675.          one PC, we recommend that you create one TbUtil diskette with all
  7676.          TbUtil data files of all your PC's on it. Use the extension of the
  7677.          file for PC identification, as in the following:
  7678.  
  7679.                  A:TBUTIL.<NUMBER>
  7680.  
  7681.  
  7682.          restore [<filename>] (re).
  7683.  
  7684.          This option enables you to restore the partition table, boot sector,
  7685.          and CMOS data area. It asks you to confirm that the data file
  7686.          belongs to the current machine. Finally, it restores the partition
  7687.          table, boot sector of the partition to be used to boot, and the CMOS
  7688.          data area.
  7689.  
  7690.  
  7691.          compare [<filename>] (co).
  7692.  
  7693.          This option enables you to check on a regular basis that everything
  7694.          is still okay. If you specify this option, TbUtil compares the
  7695.          information in the TbUtil data file against the partition table,
  7696.          boot sector, and CMOS data area. It also displays the comments
  7697.          stored in the data file. Using this option guarantees that the
  7698.          TbUtil data file is still readable.
  7699.  
  7700.  
  7701.  
  7702.  
  7703.  
  7704.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 135
  7705.  
  7706.  
  7707.  
  7708.          norepeat (nr).
  7709.  
  7710.          By default, TbUtil prompts you for the next diskette after you have
  7711.          immunized a diskette. This option disables this function.
  7712.  
  7713.  
  7714.          nomem (nm).
  7715.  
  7716.          If you specify this option when you are immunizing your partition
  7717.          code, the partition code skips the RAM check while booting. This is
  7718.          necessary for some systems that change the memory setup during the
  7719.          boot process.
  7720.  
  7721.  
  7722.          batch (ba).
  7723.  
  7724.          If you specify this option, TbUtil will assume a disk has already
  7725.          been inserted in your disk drive. This option is particularly useful
  7726.          with batch files.
  7727.  
  7728.          description =<descr.> (de).
  7729.  
  7730.          For <desc.> enter a meaningful description of the machine. Enter
  7731.          something like, "486DX4 @ 100MHz, 32 Mb, 2 Gb SCSI disk, room 12,
  7732.          Mr. Smith." You do NOT have to remember this description; TbUtil
  7733.          displays it on the screen when comparing or restoring, which helps
  7734.          you to verify that the data file belongs to the machine.
  7735.  
  7736.          part (pt) ,
  7737.          boot (bo), and
  7738.          cmos (cm).
  7739.  
  7740.          By default, TbUtil restores the partition code, boot sector, and
  7741.          CMOS if you specify the RESTORE option. If you use one of these
  7742.          options in combination with the RESTORE option, however, TbUtil
  7743.          restores only the items you specify.
  7744.  
  7745.     In the following two examples TbUtil simply store system information
  7746.     gathered from the partition table and boot sectors of your fixed disk(s)
  7747.     and the CMOS data area into a file in the current directory called
  7748.     TBUTIL.DAT.
  7749.  
  7750.              TBUTIL STORE
  7751.              TBUTIL ST
  7752.  
  7753.  
  7754.  
  7755.  
  7756.  
  7757.  
  7758.  
  7759.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 136
  7760.  
  7761.  
  7762.  
  7763.     The following example does the same as the previous, except that TbUtil
  7764.     stores the information on a diskette instead of in the current directory.
  7765.  
  7766.              TBUTIL STORE A:TBUTIL.DAT
  7767.  
  7768.     It's a good idea to describe the machine from which you are saving
  7769.     information about the partition table, boot sectors and CMOS data. You
  7770.     can use the DESCRIPTION option to add a small, single-line description of
  7771.     the machine:
  7772.  
  7773.              TBUTIL STORE A:TBUTIL.DAT DESCRIPTION = "TEST MACHINE"
  7774.  
  7775.     You can always fall back on the information TbUtil stores if you suspect
  7776.     an infection by a boot sector virus. Suppose the information gathered
  7777.     earlier by TbUtil is stored in the file A:\TBUTIL.DAT. To compare the
  7778.     current system information with the information stored in the TbUtil data
  7779.     file, you could use this command:
  7780.  
  7781.              TBUTIL COMPARE A:TBUTIL.DAT
  7782.  
  7783.     Now suppose that TbUtil informs you that the current system information
  7784.     (that is, the partition table and the CMOS data area) does not match the
  7785.     information stored earlier. If you did not change the configuration of
  7786.     your computer, it is most likely that a virus is guilty of the change.
  7787.     You could restore the old system information using this command:
  7788.  
  7789.              TBUTIL RESTORE A:TBUTIL.DAT PART CMOS
  7790.  
  7791.     In case of a boot sector virus infection, we recommend that you disinfect
  7792.     (clean) all diskettes. Using the following command, TbUtil cleans and
  7793.     immunizes the boot sector of the diskette in drive A: and then repeats
  7794.     the action after asking you to insert other (possibly) infected diskettes
  7795.     into the disk drive:
  7796.  
  7797.              TBUTIL IMMUNIZE A:
  7798.  
  7799.     In case of a virus infection you should always make certain that the
  7800.     Master Boot Record of your fixed disk is not infected. The following
  7801.     command specifies an extra option, which you must use in case your
  7802.     computer changes its memory setup during the boot process:
  7803.  
  7804.              TBUTIL IMMUNIZE C: NOMEM
  7805.  
  7806.     You can easily view the contents of a TBUTIL.DAT by using the DOS TYPE
  7807.     command:
  7808.  
  7809.  
  7810.  
  7811.  
  7812.  
  7813.  
  7814.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 137
  7815.  
  7816.  
  7817.  
  7818.              TYPE A:TBUTIL.DAT
  7819.  
  7820.  
  7821.     3.10.4 Using the Anti-Virus Partition
  7822.  
  7823.     If you install the ThunderBYTE partition code (by using TbUtil's IMMUNIZE
  7824.     option), you will see the following when booting a clean system:
  7825.  
  7826.  
  7827.              Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
  7828.  
  7829.              Checking boot sector CRC -> OK!
  7830.              Checking available RAM -> OK!
  7831.              Checking INT 13h -> OK!
  7832.  
  7833.  
  7834.     In contrast, if there is a virus in the boot sector or partition table,
  7835.     you will see this message:
  7836.  
  7837.  
  7838.              Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
  7839.  
  7840.              Checking boot sector CRC -> OK!
  7841.              Checking available RAM -> Failed!
  7842.  
  7843.              System might be infected. Continue? (N/Y)
  7844.  
  7845.  
  7846.     Other messages that might appear are:
  7847.  
  7848.          "No system." This message means that there is no active partition on
  7849.          the disk.
  7850.  
  7851.          "Disk error." The meaning of this message is obvious.
  7852.  
  7853.  
  7854.  
  7855.     3.10.5 Using the TbUtil diskette
  7856.  
  7857.     To use the TbUtil diskette, follow these steps:
  7858.  
  7859.          1. Take a new diskette and format it as a bootable diskette (by
  7860.          using the DOS FORMAT /S command).
  7861.  
  7862.          2. Copy the TbUtil files onto the diskette using this command:
  7863.  
  7864.  
  7865.  
  7866.  
  7867.  
  7868.  
  7869.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 138
  7870.  
  7871.  
  7872.  
  7873.            COPY TBUTIL.* A:
  7874.  
  7875.          The TbUtil files you need are TBUTIL.EXE and TBUTIL.LNG.
  7876.  
  7877.          3. In case of an emergency (such as a damaged or infected partition
  7878.          table, for example), boot from the TbUtil diskette.
  7879.  
  7880.          4. Run the TbUtil program, using the IMMUNIZE option:
  7881.  
  7882.            A:\TBUTIL IMMUNIZE C:
  7883.  
  7884.          This cleans the partition table.
  7885.  
  7886.          5. You should now be able to boot from your hard disk normally.
  7887.  
  7888.  
  7889.  
  7890.  
  7891.  
  7892.  
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.  
  7909.  
  7910.  
  7911.  
  7912.  
  7913.  
  7914.  
  7915.  
  7916.  
  7917.  
  7918.  
  7919.  
  7920.  
  7921.  
  7922.  
  7923.  
  7924.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 139
  7925.  
  7926.  
  7927.  
  7928.  
  7929.     3.11 Using TbLog
  7930.  
  7931.     This section describes TbLog, which is designed primarily to create log
  7932.     files in response to various TBAV alert messages.
  7933.  
  7934.  
  7935.     3.11.1 Understanding and using TbLog
  7936.  
  7937.     TbLog is a memory resident TBAV utility that writes a record into a log
  7938.     file whenever one of the resident TBAV utilities pops up with an alert
  7939.     message. It also records when a virus is detected.
  7940.  
  7941.     This utility is primarily for network users. If all workstations have
  7942.     TbLog installed and configured to maintain the same log file, the
  7943.     supervisor can easily keep track of what's going on. When a virus enters
  7944.     the network he is able to determine which machine introduced the virus,
  7945.     and he can take action in time.
  7946.  
  7947.     A TbLog record provides three pieces of information:
  7948.  
  7949.          The time stamp of when the event took place.
  7950.  
  7951.          The name of the machine on which the event occurred.
  7952.  
  7953.          An informative message about what happened and which files were
  7954.          involved.
  7955.  
  7956.     This information is very comprehensive and takes only one line.
  7957.  
  7958.  
  7959.     3.11.2 Working with TbLog
  7960.  
  7961.     Since TbLog is a memory resident program, you can execute and configure
  7962.     it from the DOS command line or from within a batch file. You should,
  7963.     however, load TbLog automatically and when the computer boots, preferably
  7964.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  7965.  
  7966.     You should install TbLog on every workstation. If you want to use all
  7967.     workstations to maintain the same log file, we recommend that you load
  7968.     TbLog after starting the network.
  7969.  
  7970.     By default, TbLog maintains a log file with the name TBLOG.LOG in the
  7971.     TBAV directory. If you want to use another filename or another disk
  7972.     and/or directory,  you can specify a filename (and path) on the TbLog
  7973.  
  7974.  
  7975.  
  7976.  
  7977.  
  7978.  
  7979.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 140
  7980.  
  7981.  
  7982.  
  7983.     command line. In a network environment, we recommend that you put the log
  7984.     file on a server disk.
  7985.  
  7986.     CAUTION:
  7987.          Be sure to load TbDriver before trying to load TbLog. TbLog will
  7988.          refuse to load without it.
  7989.  
  7990.     There are three possible ways to load TbLog:
  7991.  
  7992.          1.From the DOS prompt or within the AUTOEXEC.BAT file:
  7993.  
  7994.             <PATH>TBLOG
  7995.  
  7996.          2.From CONFIG.SYS as a TSR (DOS 4 or above):
  7997.  
  7998.             INSTALL=<PATH>TBLOG.EXE
  7999.  
  8000.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  8001.  
  8002.          3.From CONFIG.SYS as a device driver:
  8003.  
  8004.             DEVICE=<PATH>TBLOG.EXE
  8005.  
  8006.     NOTE:
  8007.          Executing TbLog as a device driver does not work in all OEM versions
  8008.          of DOS. If you encounter problems, use the INSTALL= command or make
  8009.          sure to load TbLog from the AUTOEXEC.BAT.  Also, unlike other
  8010.          anti-virus products, you can load the ThunderBYTE Anti-Virus
  8011.          utilities before starting a network without losing the protection
  8012.          after the network is started.
  8013.  
  8014.  
  8015.     In addition to the three loading possibilities, if you are using DOS
  8016.     version 5 or above, you can load TbLog into an available UMB (upper
  8017.     memory block) from AUTOEXEC.BAT using this command:
  8018.  
  8019.             LOADHIGH <PATH>TBLOG
  8020.  
  8021.     You can also load TbLog into high memory from within the CONFIG.SYS using
  8022.     this command:
  8023.  
  8024.             DEVICEHIGH=<PATH>TBLOG.EXE
  8025.  
  8026.     If you are using Microsoft Windows, you should load TbLog BEFORE starting
  8027.     Windows. When you do this, there is only one copy of TbLog in memory
  8028.     regardless of how many DOS windows you might open. Every DOS window (that
  8029.  
  8030.  
  8031.  
  8032.  
  8033.  
  8034.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 141
  8035.  
  8036.  
  8037.  
  8038.     is, every  virtual machine ) has a fully functional copy of TbLog running
  8039.     in it.
  8040.  
  8041.     TbLog automatically detects if Windows is running, and switches itself
  8042.     into multi-tasking mode if necessary. You can even disable TbLog in one
  8043.     window without affecting its functionality in another window.
  8044.  
  8045.  
  8046.     3.11.3 Maximizing TbLog
  8047.  
  8048.     You can maximize TbLog's performance by using its command line options.
  8049.     The first five options in the following table are always available. The
  8050.     other options are available only if TbLog is not yet memory resident.
  8051.  
  8052.          option parameter   short explanation
  8053.          ------------------ ----- ---------------------------------
  8054.          help                ?    Display some on-line help
  8055.          remove              r    Remove TbLog from memory
  8056.          on                  e    Enable TbLog
  8057.          off                 d    Disable TbLog
  8058.          test                t    Log test message
  8059.          machine=<descr.>    m    Description/name of your machine
  8060.          secure              s    Do not allow removal of TbLog
  8061.  
  8062.     The explanations in the above table serve as a quick reference, but the
  8063.     following descriptions provide more information about each option.
  8064.  
  8065.          help (?).
  8066.  
  8067.          Specifying this option displays the brief help as shown above.
  8068.  
  8069.  
  8070.          remove (r).
  8071.  
  8072.          This option disables TbLog and attempts to remove the resident part
  8073.          of its code from memory and return this memory space back to the
  8074.          system. Unfortunately, this works only if you loaded TbLog last. An
  8075.          attempt to remove a TSR after you load another TSR leaves a useless
  8076.          gap in memory and could disrupt the interrupt chain. TbLog checks
  8077.          whether it is safe to remove its resident code; if not, it simply
  8078.          disables itself.
  8079.  
  8080.  
  8081.          on (e).
  8082.  
  8083.  
  8084.  
  8085.  
  8086.  
  8087.  
  8088.  
  8089.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 142
  8090.  
  8091.  
  8092.  
  8093.          This option reactivates TbLog after you disabled it using the OFF
  8094.          option.
  8095.  
  8096.  
  8097.          off (d).
  8098.  
  8099.          Specifying this option disables TbLog but leaves it in memory.
  8100.  
  8101.  
  8102.          test (t).
  8103.  
  8104.          Use this option to record a test message. If you use this option at
  8105.          the initial loading of TbLog, it records the time and machine name
  8106.          into the log file. If you use this option after the initial loading,
  8107.          it simply places a test message into the log file.
  8108.  
  8109.  
  8110.          machine (m).
  8111.  
  8112.          Using this option, you can specify the name of the machine on which
  8113.          TbLog is running. This machine name appears in the log file. By
  8114.          default, TbLog uses the network machine name on NetBios compatible
  8115.          machines. On other networks, such as Novell, you must enter the
  8116.          network name on the TbLog command line.
  8117.  
  8118.  
  8119.          secure (s).
  8120.  
  8121.          If you specify this option, it is not possible to use the OFF and
  8122.          REMOVE options.
  8123.  
  8124.     The following command loads TbLog, disables, the OFF and REMOVE options,
  8125.     specifies that the logfile reside in directory F:\SECURITY, and
  8126.     identifies the machine as DESK3:
  8127.  
  8128.             C:\TBAV\TBLOG F:\SECURITY\TBLOG.LOG SECURE MACHINE=DESK3
  8129.  
  8130.     The following CONFIG.SYS command loads TbLog, creates the logfile in
  8131.     directory X:\LOGS, and specifies that the first line of the log file
  8132.     contain a date/time stamp and the name of the computer:
  8133.  
  8134.             DEVICE=C:\TBAV\TBLOG X:\LOGS\TBLOG.LOG MACHINE=JOHN TEST
  8135.  
  8136.  
  8137.  
  8138.  
  8139.  
  8140.  
  8141.  
  8142.  
  8143.  
  8144.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 143
  8145.  
  8146.  
  8147.  
  8148.  
  8149.     3.12 Using TbNet
  8150.  
  8151.     TBAV for DOS can cooperate with TBAV for Networks, another ThunderBYTE
  8152.     product, via the program called TbNet. If you do not want to use the
  8153.     combination of TBAV for DOS and TBAV for Networks, you can skip this
  8154.     section.
  8155.  
  8156.     NOTE:
  8157.          For more information about TBAV for Networks, please refer its
  8158.          documentation. If you did not purchase TBAV for Networks yet, your
  8159.          local dealer can inform you about this product.
  8160.  
  8161.  
  8162.     3.12.1 Understanding TbNet
  8163.  
  8164.     TbNet is a memory resident TBAV utility that implements the communication
  8165.     between TBAV for DOS and TBAV for Networks. TBAV for Networks has several
  8166.     options for controlling remote workstations. For Windows workstations,
  8167.     TBAV for Windows contains all logic needed to implement the communication
  8168.     between the workstation and TBAV for Networks. For DOS workstations you
  8169.     need TbNet for this communication.
  8170.  
  8171.  
  8172.     3.12.2 Working with TbNet
  8173.  
  8174.     Since TbNet is a memory resident program, you can execute and configure
  8175.     it from the DOS command line or from within a batch file. You should,
  8176.     however, load TbNet automatically when the computer boots, preferably
  8177.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  8178.  
  8179.     You should install TbNet on every workstation.
  8180.  
  8181.     CAUTION:
  8182.          Since TbNet uses a public network directory for its communication
  8183.          with TBAV for Networks, you must load TbNet after starting the
  8184.          network.
  8185.  
  8186.     There are three possible ways to load TbNet:
  8187.  
  8188.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  8189.  
  8190.             <PATH>TBNET
  8191.  
  8192.          2. From CONFIG.SYS as a TSR (DOS 4 or above):
  8193.  
  8194.  
  8195.  
  8196.  
  8197.  
  8198.  
  8199.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 144
  8200.  
  8201.  
  8202.  
  8203.             INSTALL=<PATH>TBNET.EXE
  8204.  
  8205.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  8206.  
  8207.          3. From CONFIG.SYS as a device driver:
  8208.  
  8209.             DEVICE=<PATH>TBNET.EXE
  8210.  
  8211.          NOTE:
  8212.               Executing TbNet as a device driver does not work in all OEM
  8213.               versions of DOS. If it doesn't work, use the INSTALL= command
  8214.               or load TbNet from AUTOEXEC.BAT. TbNet should always work
  8215.               correctly if you load it from AUTOEXEC.BAT. Also, unlike other
  8216.               anti-virus products, you can load the ThunderBYTE Anti-Virus
  8217.               utilities before starting a network without losing the
  8218.               protection after the network is started.
  8219.  
  8220.     In addition to the three loading possibilities, if you are using DOS
  8221.     version 5 or above, you can load TbNet into an available UMB (upper
  8222.     memory block) from AUTOEXEC.BAT using this command:
  8223.  
  8224.             LOADHIGH <PATH>TBNET
  8225.  
  8226.     You can also load TbNet into high memory from within the CONFIG.SYS using
  8227.     this command:
  8228.  
  8229.             DEVICEHIGH=<PATH>TBNET.EXE
  8230.  
  8231.     We recommend that you do not use TbNet if you use MS-Windows, but use
  8232.     TBAV for Windows instead. TBAV for Windows has built-in functionality for
  8233.     communication with TBAV for Networks.
  8234.  
  8235.     If you do want to use TbNet with MS-Windows for some reason, you should
  8236.     load TbNet BEFORE starting Windows. When you do this, there is only one
  8237.     copy of TbNet in memory regardless of how many DOS windows you might
  8238.     open. Every DOS window (that is, every "virtual machine") has a fully
  8239.     functional copy of TbNet running in it.
  8240.  
  8241.     TbNet automatically detects if Windows is running, and switches itself
  8242.     into multi-tasking mode if necessary. You can even disable TbNet in one
  8243.     window without affecting the functionality in another window.
  8244.  
  8245.  
  8246.     3.12.3 Maximizing TbNet
  8247.  
  8248.  
  8249.  
  8250.  
  8251.  
  8252.  
  8253.  
  8254.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 145
  8255.  
  8256.  
  8257.  
  8258.     You can maximize TbNet's performance by using its command line options.
  8259.     The  help  and  remove  options in the following table are always
  8260.     available. The other options are available only if TbNet is not yet
  8261.     memory resident.
  8262.  
  8263.          option parameter   short explanation
  8264.          ------------------ ----- --------------------------------------
  8265.          help                ?    Display some on-line help
  8266.          remove              r    Remove TbNet from memory
  8267.          netname=<netname>   n    Netname of the workstation
  8268.          commdir=<path>      c    Communication directory used by workstation
  8269.          frequency=<seconds> f    Poll frequency (default is 30 seconds)
  8270.          buffers=<number>    b    Number of disk buffers (default is 2)
  8271.  
  8272.     The explanations in the above table serve as a quick reference, but the
  8273.     following descriptions provide more information about each option.
  8274.  
  8275.          help (?).
  8276.  
  8277.          Specifying this option displays the brief help as shown above.
  8278.  
  8279.  
  8280.          remove (r).
  8281.  
  8282.          This option disables TbNet and attempts to remove the resident part
  8283.          of its code from memory and return this memory space back to the
  8284.          system. Unfortunately, this works only if you loaded TbNet last. An
  8285.          attempt to remove a TSR after you load another TSR leaves a useless
  8286.          gap in memory and could disrupt the interrupt chain. TbNet checks
  8287.          whether it is safe to remove its resident code; if not, it simply
  8288.          disables itself
  8289.  
  8290.          netname (n).
  8291.  
  8292.          TBAV for Networks distinguishes workstations by their unique
  8293.          netnames. These netnames are assigned by TBAV for Networks; the
  8294.          agents software running at the workstations (i.e., TbNet or TBAV for
  8295.          Windows) receive this netname upon registering the workstation with
  8296.          TBAV for Networks. You need to specify this netname for correct
  8297.          behavior of TbNet.
  8298.  
  8299.  
  8300.          commdir (c).
  8301.  
  8302.          The communication between TBAV for Networks and the agent software
  8303.          running at the workstations (i.e., TbNet or TBAV for Windows) takes
  8304.  
  8305.  
  8306.  
  8307.  
  8308.  
  8309.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 146
  8310.  
  8311.  
  8312.  
  8313.          place via a special "communication directory," a directory that is
  8314.          public to all users. You must specify the path of this directory
  8315.          when loading TbNet.
  8316.  
  8317.  
  8318.          frequency (f).
  8319.  
  8320.          TbNet checks the communication directory every once in a while, to
  8321.          see if messages originating from TBAV for Networks need to be
  8322.          processed. You can change the default period of 30 seconds by
  8323.          specifying the FREQUENCY option.
  8324.  
  8325.  
  8326.          buffers (b).
  8327.  
  8328.          TbNet internally needs some buffers to speed up the communication
  8329.          with TBAV for Networks. The number of these disk buffers used by
  8330.          TbNet can be changed by using the BUFFERS option.
  8331.  
  8332.  
  8333.     The following command loads TbNet, for workstation 001AE3, making use of
  8334.     the communication directory J:\TBAVNW.NET.
  8335.  
  8336.             C:\TBAV\TBNET NETNAME=001AE3COMMDIR=J:\TBAVNW.NET
  8337.  
  8338.  
  8339.  
  8340.  
  8341.  
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347.  
  8348.  
  8349.  
  8350.  
  8351.  
  8352.  
  8353.  
  8354.  
  8355.  
  8356.  
  8357.  
  8358.  
  8359.  
  8360.  
  8361.  
  8362.  
  8363.  
  8364.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 147
  8365.  
  8366.  
  8367.  
  8368.  
  8369.     4 Understanding Advanced User Information
  8370.  
  8371.     This chapter presents some advanced information on using memory, TbSetup,
  8372.     TbScan, and TbClean. It also introduces you to another TBAV utility,
  8373.     TbGenSig, signature file compiler. While some of this material is simply
  8374.     for a better understanding of the utilities and might not be of interest
  8375.     to you, we recommend that you at least look at the first section on
  8376.     memory considerations.
  8377.  
  8378.  
  8379.     4.1 Understanding Memory Considerations
  8380.  
  8381.     This section presents the memory requirements for each of the TBAV
  8382.     utilities and how you can reduce the requirements of each utility.
  8383.  
  8384.  
  8385.     4.1.1 Understanding Memory Requirements
  8386.  
  8387.     The following table lists the memory requirements for each of the TBAV
  8388.     utilities:
  8389.  
  8390.         TBAV Utility         Memory    Memory
  8391.                              needed    consumed
  8392.                              to load   after exiting
  8393.  
  8394.         TbScan  *            200 Kb    -
  8395.         TbScanX  **          10 Kb     800 bytes
  8396.         TbCheck              4 Kb      600 bytes
  8397.         TbUtil               64 Kb     -
  8398.         TbClean  ***         96 Kb     -
  8399.  
  8400.         TbMem                4 Kb      600 bytes
  8401.         TbFile               5 Kb      1 Kb
  8402.         TbDisk               4 Kb      800 bytes
  8403.         TbDriver             5 Kb      3 Kb
  8404.         TbLog                5 Kb      1 Kb
  8405.  
  8406.     *  If you decide to use a log file, TbScan requires an additional 16
  8407.     kilobytes of memory for the log file buffer. If TbScan uses its own
  8408.     built-in file system, it uses additional memory to keep the FAT in
  8409.     memory. Note that the memory requirements are independent of the number
  8410.     of signatures. The current memory requirements are adequate to manage at
  8411.     least 2500 signatures.
  8412.  
  8413.  
  8414.  
  8415.  
  8416.  
  8417.  
  8418.  
  8419.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 148
  8420.  
  8421.  
  8422.  
  8423.     **  The amount of memory TbScanX requires depends on the number of
  8424.     signatures. If you enable all features, TbScanX uses 30 kilobytes of
  8425.     memory when scanning for 1400 family signatures. If you enable swapping,
  8426.     TbScanX normally uses only one kilobyte of memory. You can swap to EMS
  8427.     and XMS memory. Naturally you can load the remaining kilobyte of TbScanX
  8428.     into upper memory.
  8429.  
  8430.     ***  In the heuristic cleaning mode TbClean requires much more memory,
  8431.     depending on the size of the infected file. TbClean can also use expanded
  8432.     memory (EMS).
  8433.  
  8434.  
  8435.     4.1.2 Reducing Memory Requirements
  8436.  
  8437.     Most PC users try to maintain as much free DOS memory as possible. The
  8438.     memory resident TBAV utilities (TbScanX, TbCheck, TbMem, TbFile, TbDisk,
  8439.     TbLog and TbDriver) use only a small amount of DOS memory. To decrease
  8440.     the memory requirements of these utilities even further, do the
  8441.     following:
  8442.  
  8443.          Load the programs from within the CONFIG.SYS file. When loaded as a
  8444.          device driver, a TBAV utility has no Program Segment Prefix (PSP, a
  8445.          DOS-internal memory area), which saves 256 bytes for each TBAV
  8446.          utility.
  8447.  
  8448.          If you load the TBAV utilities from within the AUTOEXEC.BAT file,
  8449.          load them before establishing environment variables. DOS maintains a
  8450.          list of environment variables for every resident program, so keep
  8451.          this list small while installing TSRs. Once you install all TSRs,
  8452.          you can then define all environment variables without affecting the
  8453.          memory requirements of the TSRs.
  8454.  
  8455.          Make use of memory swapping. If you use the EMS or XMS option,
  8456.          TbScanX swaps itself to non-DOS memory, leaving only one kilobyte of
  8457.          code in DOS memory. It is better to swap to expanded memory (EMS
  8458.          option) because it is faster.
  8459.  
  8460.          Use high memory if possible. If you have DOS 5 or higher, try to
  8461.          load the program into an upper memory block using the LOADHIGH or
  8462.          DEVICEHIGH commands. We recommend that you also enable swapping to
  8463.          limit the use of upper memory.
  8464.  
  8465.          Use one of the processor specific versions of the relevant TBAV
  8466.          utility. They all consume less memory than the generic versions.
  8467.          Processor optimized versions are available on any ThunderBYTE
  8468.          support BBS.
  8469.  
  8470.  
  8471.  
  8472.  
  8473.  
  8474.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 149
  8475.  
  8476.  
  8477.  
  8478.          Use memory-saving program options. Consider using TbDriver's NOSTACK
  8479.          option, TbMem's NOCANCEL option, and TbScanX's NOBOOT, EMS and XMS
  8480.          options.
  8481.  
  8482.  
  8483.  
  8484.  
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.  
  8492.  
  8493.  
  8494.  
  8495.  
  8496.  
  8497.  
  8498.  
  8499.  
  8500.  
  8501.  
  8502.  
  8503.  
  8504.  
  8505.  
  8506.  
  8507.  
  8508.  
  8509.  
  8510.  
  8511.  
  8512.  
  8513.  
  8514.  
  8515.  
  8516.  
  8517.  
  8518.  
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524.  
  8525.  
  8526.  
  8527.  
  8528.  
  8529.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 150
  8530.  
  8531.  
  8532.  
  8533.  
  8534.     4.2 Understanding TbSetup
  8535.  
  8536.     This section presents advanced user information about TbSetup. It
  8537.     explains the design of ANTI-VIR data files, editing the TBSETUP.DAT file,
  8538.     and how to easily install TBAV on several machines.
  8539.  
  8540.  
  8541.     4.2.1 Understanding ANTI-VIR.DAT File Design
  8542.  
  8543.     Most ThunderBYTE Anti-Virus utilities expect every directory on your
  8544.     system with executable files to contain its own ANTI-VIR.DAT file. Some
  8545.     other anti-virus products maintain a somewhat similar  fingerprint  list
  8546.     of all executable files, but in one large file rather than a separate
  8547.     file in each  directory. TBAV's approach is superior for several reasons:
  8548.  
  8549.          One file in each directory is easy to maintain. If you want to
  8550.          remove the complete product, you can remove the accompanying ANTI-
  8551.          VIR.DAT file as well.
  8552.  
  8553.          It consumes less disk space because it is not necessary to store
  8554.          full path information in the information file.
  8555.  
  8556.          The TBAV utilities perform faster because they do not have to search
  8557.          through a huge file to locate the information for one specific file.
  8558.  
  8559.  
  8560.          Installation is easier and more reliable in network environments. On
  8561.          a network, it is not unusual that the same files have different
  8562.          drive ID's on different workstations. If there is only one
  8563.          information file, the drive-IDs should be stored as well, so every
  8564.          workstation should maintain its own list. The supervisor can quickly
  8565.          lose control in this type of situation.
  8566.  
  8567.  
  8568.     4.2.2 Editing the TBSETUP.DAT File
  8569.  
  8570.     Editing the TBSETUP.DAT file is useful to TBAV site installation (see the
  8571.     next section). Therefore, some information on the format of this file is
  8572.     necessary.
  8573.  
  8574.  
  8575.     Understanding the Format of TBSETUP.DAT
  8576.  
  8577.     The format of the TbSetup.Dat file is quite simple. You can either ignore
  8578.     empty lines, lines starting with a semi-colon (;), and lines starting
  8579.  
  8580.  
  8581.  
  8582.  
  8583.  
  8584.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 151
  8585.  
  8586.  
  8587.  
  8588.     with a percentage symbol (%), or you can treat them as comment lines. The
  8589.     lines with a preceding percentage symbol also appear in TbSetup's upper
  8590.     window.
  8591.  
  8592.     Each entry in the TBSETUP.DAT file has four items:
  8593.  
  8594.          1. The filename. The filename MUST appear in capital letters and
  8595.          without spaces.
  8596.  
  8597.          2. The length of the file in hexadecimal notation. This field might
  8598.          contain a single asterisk [*] if an exact file length match is not
  8599.          required.
  8600.  
  8601.          3. The file's 32-bit CRC in hexadecimal notation. You can use a
  8602.          single asterisk if an exact checksum match is not required.
  8603.  
  8604.          4. The hexadecimal number representing flags you want set when the
  8605.          listed file is found on the system.
  8606.  
  8607.     You can use the rest of the line for a brief comment.
  8608.  
  8609.     You can use the following flags. If several flags require setting for a
  8610.     file, you can combine them using the bitwise OR operation:
  8611.  
  8612.          bit 0:    (0001)    Do not perform heuristic analysis
  8613.          bit 1:    (0002)    Ignore CRC changes (self-modifying file)
  8614.          bit 2:    (0004)    Scan for all signatures (LAN remote boot file)
  8615.          bit 3:    (0008)    Do not change read-only attribute of this file
  8616.          bit 4:    (0010)    The program stays resident in memory
  8617.          bit 5:    (0020)    The program performs direct disk access
  8618.          bit 6:    (0040)    Program is allowed to remove read-only
  8619.                              attributes
  8620.          bit 15:   (8000)    Interrupt rehook required for TBDRIVER.EXE
  8621.  
  8622.     The following are a few example entries from a TBSETUP.DAT file:
  8623.  
  8624.          ; filename   Length 32-bit CRC Flags  Comment
  8625.  
  8626.          ; Files that trigger the heuristic alarm of TbScan:
  8627.          4DOS.COM     19FEA         *   0001    ;4Dos 4.0a
  8628.          AFD.COM      0FEFE  4B351A86   0001    ;AFD debugger
  8629.          ARGV0FIX.COM 001D8  431E70C0   0001    ;Argv[0]fix
  8630.          EXE2COM.EXE  00BEA  49276F89   0001    ;Exe to Com conv. util
  8631.          KILL.EXE     00632  74D41811   0001    ;PcTools 6.0 utility
  8632.          WATCH.COM    003E1  2353625D   0001    ;TSR monitoring util
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 152
  8640.  
  8641.  
  8642.  
  8643.          ; Files that need to be scanned completely, for ALL viruses:
  8644.          NET$DOS.SYS      *         *   0004    ;Disk-image Novell boot
  8645.  
  8646.          ; Files without fixed checksum due to internal config area's:
  8647.          Q.EXE            *         *   000A    ;Qedit (all versions)
  8648.          TBCONFIG.COM     *         *   000A    ;all versions
  8649.  
  8650.  
  8651.     Defining New Entries in TBSETUP.DAT
  8652.  
  8653.     If you have any files that we should include in TBSETUP.DAT, please let
  8654.     us know! We would like to receive a copy to enhance our products and keep
  8655.     TBSETUP.DAT up to date. Candidates for inclusion are any programs that
  8656.     trigger the heuristic analysis of TbScan.
  8657.  
  8658.     Whenever you choose "V)alidate program" in the TbScan message window, you
  8659.     will discover that on subsequent occasions TbSetup displays the value
  8660.     "0001" in the flags field. If your company has several files like this
  8661.     installed on multiple machines, you might want to include these files in
  8662.     the TBSETUP.DAT file yourself. To do this, execute TbSetup for the file
  8663.     in question and make a note of its file length and 32-bit CRC, as
  8664.     displayed on the screen. Then edit the TBSETUP.DAT file, entering the
  8665.     exact filename, the file length, and the CRC number, plus the number of
  8666.     any flags you wish to set for that file. If you now use TbSetup on
  8667.     another machine (using the updated TBSETUP.DAT file), it sets the
  8668.     appropriate flags automatically.
  8669.  
  8670.     TIP:
  8671.          You can manually set or clear a flag field value when executing
  8672.          TbSetup at the DOS prompt using the SET or RESET option as follows:
  8673.  
  8674.                    TBSETUP TEST.EXE SET=0001.
  8675.  
  8676.  
  8677.     4.2.3 Simplifying Installation on Several Machines
  8678.  
  8679.     If you need to install the TBAV utilities on several machines in one
  8680.     company, it would be tedious, for example, to run every TSR and disk
  8681.     utility on each machine to "teach" TBAV which programs are valid and
  8682.     which are not. Fortunately, this is not necessary. We present here some
  8683.     examples of how to simplify installation on several machines.
  8684.  
  8685.     If a resident utility named, for example, TSRUTIL.EXE, is in use
  8686.     throughout the company, you can predefine permission by using TbSetup.
  8687.     First, use TbSetup to determine the length and CRC of the program.
  8688.  
  8689.  
  8690.  
  8691.  
  8692.  
  8693.  
  8694.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 153
  8695.  
  8696.  
  8697.  
  8698.     Second,  put the name of the program, along with its other information,
  8699.     in the TBSETUP.DAT file, and then assign the flag 0010 to it:
  8700.  
  8701.                    TSRUTIL.EXE  01286  E387AB21  0010  ;OUR TSR UTILITY
  8702.  
  8703.     If a disk utility named, for example, DISKUTIL.EXE, is in use throughout
  8704.     the company, you can predefine permission by using TbSetup. First, use
  8705.     TbSetup to determine the length and CRC of the program. Second, put the
  8706.     name of the program, along with its other information, in the TBSETUP.DAT
  8707.     file, and then assign the flag 0020 to it:
  8708.  
  8709.                    DISKUTIL.EXE 01286  E387AB21  0020  ;OUR DISK UTILITY
  8710.  
  8711.     If a utility named, for example, UTIL.EXE, causes TbScan to give false
  8712.     positives and is in use throughout the company, you can use TbSetup to
  8713.     "teach" TbScan to avoid heuristic scanning of the program. First, use
  8714.     TbSetup to determine the length and CRC of the program. Second, put the
  8715.     name of the program, along with its other information, in the TBSETUP.DAT
  8716.     file, and then assign the value 0001 to it:
  8717.  
  8718.                    UTIL.EXE     01286  E387AB21  0001  ;OUR UTILITY
  8719.  
  8720.     If you now run TbSetup on every machine (you have to do this anyway), it
  8721.     recognizes the utilities you added in the TBSETUP.DAT file. Additionally,
  8722.     all the TBAV utilities automatically adapt their behavior for those
  8723.     files.
  8724.  
  8725.     TIP:
  8726.          Consult the TBSETUP.DAT file itself. It contains useful comments on
  8727.          this subject.
  8728.  
  8729.  
  8730.  
  8731.     4.3 Understanding TbScan
  8732.  
  8733.     This section offers advanced information about TbScan, including:
  8734.     heuristic scanning, integrity checking, program validation, algorithms,
  8735.     and the TBSCAN.LNG file.
  8736.  
  8737.  
  8738.     4.3.1 Understanding Heuristic Scanning
  8739.  
  8740.     What makes TbScan so unique is that it is not just a signature scanner,
  8741.     but it is also a disassembler. It disassembles files for the following
  8742.     purposes:
  8743.  
  8744.  
  8745.  
  8746.  
  8747.  
  8748.  
  8749.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 154
  8750.  
  8751.  
  8752.  
  8753.          By disassembling a file, the scanner restricts itself to the area of
  8754.          the file where the virus might reside, reducing false alarms and
  8755.          speeding up the process. Disassembling a file makes it possible to
  8756.          use the algorithmic detection method on encrypted viruses whose
  8757.          signatures would otherwise remain invisible to the scanner.
  8758.  
  8759.          Disassembling the file makes it possible to detect suspicious
  8760.          instruction sequences.
  8761.  
  8762.     This detection of suspicious instruction sequences is "heuristic
  8763.     scanning." This extremely powerful feature enables you to detect new or
  8764.     modified viruses and to verify the results of the signature scan. You no
  8765.     longer have to rely on the scanner's publisher having the same virus as
  8766.     you might have. In normal cases a scanner can find a virus only if the
  8767.     scanner's publisher had a sample of that virus and includes that virus's
  8768.     signature in a signature file. In contrast, heuristic scanning does not
  8769.     require signatures, enabling the scanner to detect yet unknown viruses by
  8770.     looking for the characteristics of a virus instead of a signature.
  8771.  
  8772.     Never underestimate the importance of heuristic scanning, since every
  8773.     month at least 50 new viruses are reported, and it is extremely unlikely
  8774.     that a publisher is the first one to get a new virus.
  8775.  
  8776.     TbScan distinguishes two heuristic levels. The following table describes
  8777.     the properties of these levels:
  8778.  
  8779.          Heuristic  Level 1       Heuristic Level 2
  8780.          -----------------------  ---------------------------------------
  8781.          always enabled           only enabled with command-line option
  8782.                                   "heuristic", or TBAV menu option "High
  8783.                                   heuristic sensitivity," or after a virus
  8784.                                   has been found
  8785.  
  8786.          detects 50 % of (yet)    detects 90 % of (yet) unknown viruses
  8787.          unknown viruses
  8788.  
  8789.          almost never causes      might cause few false alarms
  8790.          false alarms
  8791.  
  8792.          displays "Probably       displays "Might be infected"
  8793.          infected"
  8794.  
  8795.     The following lines show the effect of scanning four files, each having
  8796.     its own characteristics. Please note the heuristic flags that appear next
  8797.     to the word "scanning."
  8798.  
  8799.  
  8800.  
  8801.  
  8802.  
  8803.  
  8804.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 155
  8805.  
  8806.  
  8807.  
  8808.          FILE1.EXE   scanning...OK     (no flags)
  8809.          FILE2.EXE   scanning...ROK    (nothing serious)
  8810.          FILE3.EXE   scanning...FRM    might be infected by unknown virus
  8811.          FILE4.EXE   scanning...FRALM# probably infected by unknown virus
  8812.  
  8813.     It is obvious from these four examples that heuristic scanning (resulting
  8814.     in the heuristic flags) is very powerful for finding yet unknown viruses.
  8815.  
  8816.  
  8817.     4.3.2 Understanding How Heuristic Scanning Works
  8818.  
  8819.  
  8820.     Every program contains instructions for the computer's microprocessor. By
  8821.     looking into the file's contents and interpreting the instructions,
  8822.     TbScan is able to detect the purpose of these instructions. If the
  8823.     purpose appears to be formatting a disk, or infecting a file, TbScan
  8824.     issues a warning. There are many instruction sequences that are very
  8825.     common for viruses but are very uncommon for normal programs. TbScan,
  8826.     therefore, assigns every suspicious instruction sequence to a character
  8827.     called a  heuristic flag.  Every heuristic flag denotes a score. If the
  8828.     total score (that is, the sum of scores for each flag that triggered)
  8829.     exceeds a predefined limit, TbScan assumes the file contains a virus.
  8830.  
  8831.     There are actually two predefined limits. The first limit is quite
  8832.     sensitive and can be reached by some normal innocent programs. If the
  8833.     suspicious program reaches this limit, TbScan highlights the heuristic
  8834.     flags that appear on the screen and increases the suspicious item's
  8835.     counter. TbScan does not indicate the existence of a virus unless you
  8836.     specify the  heuristic  or  high heuristic sensitivity  option. If you do
  8837.     specify this option, TbScan informs you that the file  Might be infected
  8838.     by an unknown virus.
  8839.  
  8840.     In contrast to the first option, many viruses trigger the second
  8841.     heuristic limit, while normal programs do not. If a suspicious program
  8842.     reaches this limit, TbScan informs you that the file is  Probably
  8843.     infected by an unknown virus.
  8844.  
  8845.     NOTE:
  8846.          TbScan performs heuristic analysis only near the entry-point of a
  8847.          file. Therefore, TbScan does not detect direct writes to disk by
  8848.          some disk utilities nor does it detect some programs as TSR
  8849.          programs. This is simply the result of a specific approach that
  8850.          minimizes false alarms. In case of a virus, the offending
  8851.          instructions are always near the entry-point (except when the virus
  8852.          is over 10Kb in size), so TbScan detects suspicious
  8853.          phenomena in these situations anyway.
  8854.  
  8855.  
  8856.  
  8857.  
  8858.  
  8859.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 156
  8860.  
  8861.  
  8862.  
  8863.  
  8864.     4.3.3 Understanding Integrity Checking
  8865.  
  8866.     TbScan performs integrity checking while scanning. For this purpose, you
  8867.     must use TbSetup to generate the ANTI-VIR.DAT files. Once these files
  8868.     exist on your system, TbScan verifies that every file being scanned
  8869.     matches the information maintained in the ANTI-VIR.DAT files. If a virus
  8870.     infects a file, the maintained information no longer matches the now
  8871.     changed file, and TbScan informs you of this.
  8872.  
  8873.     NOTE:
  8874.          There are no command line options to enable this feature. TbScan
  8875.          performs integrity checking automatically if it detects the ANTI-
  8876.          VIR.DAT files.
  8877.  
  8878.     Note that TbScan reports only those file changes that could indicate a
  8879.     virus. While internal configuration areas of program files might also
  8880.     change, TbScan normally does not report these. If a file becomes infected
  8881.     with a known or unknown virus, however, the vital information does change
  8882.     and TbScan does indeed report it to you!
  8883.  
  8884.     In contrast, there might be files that change themselves frequently or
  8885.     change frequently due to another cause. In such a case you might want to
  8886.     exclude the program from integrity checking to avoid future false alarms.
  8887.     If TbScan detects such a change, it informs you of it. Additionally,
  8888.     TbScan offers the possibility to  Validate the program,  which is the
  8889.     subject of the next section.
  8890.  
  8891.     Understanding Program Validation This section applies only if you use
  8892.     TbSetup to generate the ANTI-VIR.DAT records. Without these records,
  8893.     program validation is not an option.
  8894.  
  8895.     TbScan performs as intended on most programs. There are some programs,
  8896.     however, that require special attention in order to avoid false alarms.
  8897.     TbSetup recognizes most of these programs automatically. Nevertheless it
  8898.     is certainly possible your PC contains some program files that trigger
  8899.     the heuristic alarm of TbScan and/or programs files that change
  8900.     frequently.
  8901.  
  8902.     If TbScan finds an infection using heuristic analysis or integrity
  8903.     checking, and if there is an ANTI-VIR.DAT record available, it offers an
  8904.     additional option in its virus-alert window, namely,   V)alidate program.
  8905.  
  8906.  
  8907.  
  8908.  
  8909.  
  8910.  
  8911.  
  8912.  
  8913.  
  8914.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 157
  8915.  
  8916.  
  8917.  
  8918.     If you are sure that the indicated program does not contain a virus, you
  8919.     can press V to set a flag in the program s ANTI-VIR.DAT record. This
  8920.     avoids future false alarms.
  8921.  
  8922.     There are two validation modes. If TbScan alarms you to a file change,
  8923.     the validation applies to future file changes only. If the alarm is due
  8924.     to heuristic analysis, the validation applies only to heuristic results.
  8925.     If you exclude the file from heuristic analysis, TbScan still performs an
  8926.     integrity check. Conversely, if you exclude the file from integrity
  8927.     checking, TbScan still performs heuristic analysis.
  8928.  
  8929.     CAUTION:
  8930.          If you replaced a file (for example, because of a software upgrade)
  8931.          and you did not apply TbSetup to the changed files, TbScan pops up
  8932.          its virus alert window to inform you of the file change. Do not
  8933.          select the validation option in this case, because this would
  8934.          exclude the file from future integrity checking. You should abort
  8935.          TbScan and execute TbSetup on the changed file(s) instead.
  8936.  
  8937.  
  8938.     4.3.4 Understanding the Scan Algorithms
  8939.  
  8940.     When TbScan processes a file it displays one of the following messages:
  8941.  
  8942.          Looking.
  8943.  
  8944.          "Looking" indicates that TbScan has successfully located the entry
  8945.          point of the program in one step; that is, it has identified the
  8946.          program code so it knows where to search without the need of
  8947.          additional analysis. TbScan uses "Looking" on most known software.
  8948.  
  8949.  
  8950.          Checking.
  8951.  
  8952.          "Checking" indicates TbScan has successfully located the entry point
  8953.          of the program, and is scanning a frame of about two kilobytes
  8954.          around the entry point. If the file is infected, the virus signature
  8955.          appears in this area. "Checking" is a very fast and reliable scan
  8956.          algorithm, so TbScan applies it to most unknown software.
  8957.  
  8958.  
  8959.          Tracing.
  8960.  
  8961.          "Tracing" means that TbScan has successfully traced a chain of jumps
  8962.          or calls while locating the entry point of the program and is
  8963.          scanning a frame of about two kilobytes around this location. If the
  8964.  
  8965.  
  8966.  
  8967.  
  8968.  
  8969.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 158
  8970.  
  8971.  
  8972.  
  8973.          file has been infected, the signature of the virus appears in this
  8974.          area. "Tracing" is a fast and reliable scan algorithm. TbScan uses
  8975.          it primarily for memory resident COM programs. Most viruses force
  8976.          TbScan to use "Tracing."
  8977.  
  8978.  
  8979.          Scanning.
  8980.  
  8981.          "Scanning" indicates that TbScan is scanning the entire file (except
  8982.          for the EXE-header that cannot contain any viral code). It uses this
  8983.          only if it can't safely use "Looking," "Checking,"  or "Tracing."
  8984.          Such is the case when the entry point of the program contains other
  8985.          jumps and calls to code located outside the scanning frame, or when
  8986.          the heuristic analyzer finds something that you should investigate
  8987.          more thoroughly. Because  Scanning  is a slow algorithm, it
  8988.          processes almost the entire file, including data areas, and it is
  8989.          more likely to trigger false alarms. TbScan uses this algorithm when
  8990.          scanning boot sectors, SYS files, and BIN files.
  8991.  
  8992.  
  8993.          Skipping.
  8994.  
  8995.          "Skipping" occurs only with SYS and OVL files. It simply means that
  8996.          the file will not be scanned. As there are many SYS files (such as
  8997.          CONFIG.SYS) that contain no code at all, it makes absolutely no
  8998.          sense to scan these files for viruses. The same applies to .OV?
  8999.          files. Many overlay files do not deserve the name overlay because
  9000.          they lack an EXE-header. Such files cannot execute through DOS,
  9001.          which in-turn makes them just as invulnerable to direct virus
  9002.          attacks as .TXT files. If TbScan reports that a virus has infected
  9003.          an .OV? file, that file is one of the relatively few overlay files
  9004.          that does contain an EXE-header. In such a case, the infection was
  9005.          the result of the virus monitoring the DOS exec-call  (function 4Bh)
  9006.          and thereby infecting any program that executes that way, including
  9007.          real overlay files.
  9008.  
  9009.  
  9010.          Decrypting.
  9011.  
  9012.          TbScan detected that the file is encrypted, and decrypts it to be
  9013.          able to "look inside." TbScan performs signature scanning and
  9014.          heuristic analysis on the decrypted code since that is very reliable
  9015.          and also reveals polymorphic viruses.
  9016.  
  9017.  
  9018.  
  9019.  
  9020.  
  9021.  
  9022.  
  9023.  
  9024.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 159
  9025.  
  9026.  
  9027.  
  9028.     4.3.5 Understanding the TBSCAN.LNG File
  9029.  
  9030.     The TBSCAN.LNG file contains all the text that TbScan displays. You can
  9031.     translate or customize the messages with any ASCII editor. A dollar sign
  9032.     [$] separates the messages.
  9033.  
  9034.     The first message displays our address and registration information. You
  9035.     can edit this message as you please, adding, for example, your company
  9036.     name and logo.
  9037.  
  9038.     CAUTION:
  9039.          Take care in customizing messages so that you don't change the
  9040.          essence of the message.
  9041.  
  9042.     You can also add color codes to the TBSCAN.LNG file. You must precede a
  9043.     color code with the "pipe" [|] character. Each color code consists of a
  9044.     foreground (or highlight) color and a background color. The following
  9045.     table lists the available color codes (all numbers are in hexadecimal
  9046.     notation):
  9047.  
  9048.  
  9049.         Color      Foreground     Highlight      Background
  9050.          --------- -------------- -------------- ----------
  9051.         Black           00             08             00
  9052.         Blue            01             09             10
  9053.         Green           02             0A             20
  9054.         Cyan            03             0B             30
  9055.         Read            04             0C             40
  9056.         Magenta         05             0D             50
  9057.         Brown           06             0E (yellow)    60
  9058.         Gray            07             0F (white)     70
  9059.  
  9060.     To make characters blink, add 80 to the background color codes.
  9061.  
  9062.     Here are few examples of defining colors:
  9063.  
  9064.          To make a highlighted green character on a red background, use  the
  9065.          color code 0A+40=4A. To make the character blink, add 80h to the
  9066.          result (4A+80=CA). To display white characters on a blue background,
  9067.          use the color code 0F in combination with color code 10: 0F+10=1F.
  9068.  
  9069.          If you prefer a cyan background with a gray foreground, you should
  9070.          add 30 to 07 (30+07=37). If you want the characters to blink, the
  9071.          color code becomes 37+80=B7.
  9072.  
  9073.  
  9074.  
  9075.  
  9076.  
  9077.  
  9078.  
  9079.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 160
  9080.  
  9081.  
  9082.  
  9083.     4.3.6 Understanding the TBAV.MSG File
  9084.  
  9085.     The TBAV menu displays the contents of a file named TBAV.MSG,  if it
  9086.     exists in the ThunderBYTE directory. You can use this feature to display
  9087.     your company logo on the TBAV screen. As in the TbScan language file, you
  9088.     can embed color codes in this file. Consult the previous section for more
  9089.     information about color codes.
  9090.  
  9091.  
  9092.  
  9093.  
  9094.  
  9095.  
  9096.  
  9097.  
  9098.  
  9099.  
  9100.  
  9101.  
  9102.  
  9103.  
  9104.  
  9105.  
  9106.  
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114.  
  9115.  
  9116.  
  9117.  
  9118.  
  9119.  
  9120.  
  9121.  
  9122.  
  9123.  
  9124.  
  9125.  
  9126.  
  9127.  
  9128.  
  9129.  
  9130.  
  9131.  
  9132.  
  9133.  
  9134.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 161
  9135.  
  9136.  
  9137.  
  9138.  
  9139.     4.4 Understanding TbClean
  9140.  
  9141.     This section takes a look at how TbClean works by explaining how a virus
  9142.     goes about infecting a file and the difference between conventional
  9143.     cleaners and generic cleaners.
  9144.  
  9145.  
  9146.     4.4.1 Understanding how a Virus infects a file
  9147.  
  9148.     To understand how a cleaning program works, try to imagine how a virus
  9149.     usually goes about infecting a program. The basic principle is really
  9150.     quite simple. A virus, which is simply another computer program, adds
  9151.     itself to the end of the program it infects. The additional viral code
  9152.     obviously increases the size of the program.
  9153.  
  9154.     Simply appending a viral program to another program, however, is not
  9155.     enough to do any real harm. To do damage, the viral code must first be
  9156.     executed. To accomplish this, the virus grabs the first few bytes at the
  9157.     start of the program and replaces them with a  jump  instruction to its
  9158.     own viral code. That way the virus is able to take control when the
  9159.     program starts. Chances are you will never even notice the momentary
  9160.     delay while the extra code executes and does whatever the virus has been
  9161.     programmed to do. The virus then restores the original instructions and
  9162.     restarts the program (jumps to the original start of the program). Your
  9163.     program, more often than not, works as usual, and of course, any virus
  9164.     worth its salt makes sure it doesn't draw undue attention to itself, at
  9165.     least not too soon.
  9166.  
  9167.     So, in order to purge a program, we must first restore the starting
  9168.     instruction bytes, which the virus replaced with the jump to its own
  9169.     code. The virus is going to need these bytes again later on, so it stores
  9170.     them somewhere in the viral code. The cleaner starts out to find those
  9171.     bytes, puts them back in their proper place, and trims the file to the
  9172.     original size.
  9173.  
  9174.     Cleaner programs basically come in two types: the conventional type, for
  9175.     specific types of viruses, and the far more advanced generic cleaner,
  9176.     which offers a much wider scope. Let's take a closer look at both cleaner
  9177.     types and find out where they differ.
  9178.  
  9179.  
  9180.     4.4.2 Understanding Conventional Cleaners
  9181.  
  9182.     A conventional cleaner has to know which virus to remove. Suppose one of
  9183.     your programs is infected with a Jerusalem/PLO virus. This means that the
  9184.  
  9185.  
  9186.  
  9187.  
  9188.  
  9189.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 162
  9190.  
  9191.  
  9192.  
  9193.     infected program has grown in size in comparison with the original
  9194.     program, and that the first few bytes have been replaced by a  "jump"
  9195.     instruction to the viral code. The following drawing ilustrates this
  9196.     process:
  9197.  
  9198.          original program                 infected program
  9199.          +--------------+                 +--------------+
  9200.          |              |                 |              |
  9201.          | p            |         100:    |jump          |
  9202.          | r            |                 |to 2487       |
  9203.          | o            |                 | o            |
  9204.          | g            |                 | g            |
  9205.          | r            |                 | r            |
  9206.          | a            |                 | a            |
  9207.          | m            |                 | m            |
  9208.          |              |                 |              |
  9209.          | c            |                 | c            |
  9210.          | o            |                 | o            |
  9211.          | d            |                 | d            |
  9212.          | e            |                 | e            |
  9213.          |              |                 |              |
  9214.          +--------------+                 +--------------+
  9215.                                   2487:   |              |
  9216.                                           |  VIRUS!    p |
  9217.                                           |            r |
  9218.                                           |jmp 100       |
  9219.                                           +--------------+
  9220.     When you start a conventional cleaner, a procedure much like the
  9221.     following takes place:
  9222.  
  9223.          "Hey, the signature file tells me this file is infected with the
  9224.          Jerusalem/PLO virus. Okay, let's see, this virus tacks on 1873 bytes
  9225.          at the end and overwrites the first three bytes of the original
  9226.          program with a jump to itself. The original bytes are located at
  9227.          offset 483 in the viral code. So, I have to take those bytes, copy
  9228.          them to the beginning of the file, and then remove 1873 bytes of the
  9229.          file. That's it!"
  9230.  
  9231.     But there are several pitfalls to worry about in a scenario like this.
  9232.     For one thing, the cleaner obviously must have some means to recognize
  9233.     the virus it should remove. A conventional cleaner cannot cope with a
  9234.     virus unless it knows exactly what to look for.
  9235.  
  9236.     To make matters worse, it's even more important to establish whether or
  9237.     not the virus is exactly the same one that the cleaner knows about.
  9238.     Imagine what would happen if the virus in our example had been modified
  9239.  
  9240.  
  9241.  
  9242.  
  9243.  
  9244.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 163
  9245.  
  9246.  
  9247.  
  9248.     and is now 1869 bytes in size instead of 1873. The cleaner would remove
  9249.     too much! This is not an exceptional case at all. On the contrary, there
  9250.     is a virtual epidemic of countless so-called  mutant strains.  The
  9251.     Jerusalem/PLO family, to name but one example, now has more than 100
  9252.     mutant members!
  9253.  
  9254.  
  9255.     4.4.3 Understanding Generic Cleaners
  9256.  
  9257.     A generic cleaner works on the principle that any kind of virus, whether
  9258.     or not it has made the signature "charts," is just plain bad news. That's
  9259.     why TbClean works with a completely different disinfection scheme that is
  9260.     effective with almost all viruses; it doesn't even need to recognize
  9261.     them. Actually, TbClean represents two cleaners in one: a "repair"
  9262.     cleaner and a "heuristic" cleaner.
  9263.  
  9264.  
  9265.     Repair cleaning
  9266.  
  9267.     Repair cleaning needs an ANTI-VIR.DAT file generated by TbSetup before
  9268.     the infection occurred. The ANTI-VIR.DAT file stores vital information
  9269.     about programs, including their original size, the first few instruction
  9270.     codes, and a cryptographic checksum. This information is usually all it
  9271.     takes to disinfect a file, no matter what virus, known or unknown, caused
  9272.     the infection. The cleaner simply restores the bytes at the beginning of
  9273.     the program, trims the file to its original size, and verifies the result
  9274.     using the original checksum. It's just that simple (and effective).
  9275.  
  9276.  
  9277.     Heuristic cleaning
  9278.  
  9279.     TbClean is the first cleaner in the world that has a heuristic cleaning
  9280.     mode. Like the repair cleaner, this mode does not need any information
  9281.     about viruses either, but it also has the added advantage that it doesn't
  9282.     even care about the original, uninfected state of a program. This
  9283.     cleaning mode is very effective if your system becomes infected with an
  9284.     unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
  9285.     files before infection.
  9286.  
  9287.     In heuristic mode, TbClean loads the infected file and starts emulating
  9288.     the program code. It uses a combination of disassembly, emulation and,
  9289.     sometimes, execution to trace the flow of the viral code, pretending to
  9290.     do more or less exactly what the virus would normally be doing. When the
  9291.     virus gets to the original program's instructions and jumps back to the
  9292.     original program code, TbClean stops the emulation process, with a
  9293.  
  9294.  
  9295.  
  9296.  
  9297.  
  9298.  
  9299.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 164
  9300.  
  9301.  
  9302.  
  9303.     tongue-in-check  thank you  to the virus for its  cooperation  in
  9304.     restoring the original bytes.
  9305.  
  9306.     The actual cleaning process involves almost the same three steps as with
  9307.     repair cleaning. First, TbClean repairs the program startup code and
  9308.     copies it back to the file. Second, it removes the now ineffective code
  9309.     for the sake of security. Third, it does a final analysis of the purged
  9310.     program file.
  9311.  
  9312.  
  9313.  
  9314.  
  9315.  
  9316.  
  9317.  
  9318.  
  9319.  
  9320.  
  9321.  
  9322.  
  9323.  
  9324.  
  9325.  
  9326.  
  9327.  
  9328.  
  9329.  
  9330.  
  9331.  
  9332.  
  9333.  
  9334.  
  9335.  
  9336.  
  9337.  
  9338.  
  9339.  
  9340.  
  9341.  
  9342.  
  9343.  
  9344.  
  9345.  
  9346.  
  9347.  
  9348.  
  9349.  
  9350.  
  9351.  
  9352.  
  9353.  
  9354.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 165
  9355.  
  9356.  
  9357.  
  9358.  
  9359.     4.5 Using TbGenSig
  9360.  
  9361.     This final section of Chapter 4 introduces you to TbGenSig, an advanced
  9362.     user utility that enables you to define your own virus signatures.
  9363.  
  9364.  
  9365.     4.5.1 Understanding and using TbGenSig
  9366.  
  9367.     TbGenSig is a signature file compiler. Since we distribute TBAV with an
  9368.     up to date, ready-to-use signature file, you do not really need the
  9369.     signature file compiler.
  9370.  
  9371.     If, however, you want to define your own virus signatures, you will need
  9372.     this utility. You can use either published signatures or define your own,
  9373.     if you are familiar with the structure of software.
  9374.  
  9375.     One way or another, you need to do this only in case of an emergency,
  9376.     such as in the unfortunate event that a yet unknown, and thus
  9377.     unrecognized, virus attacks your machine, or even your company. We
  9378.     recommend that you send a few samples of the virus to some of our
  9379.     researchers, to insure that they can be examined and the results included
  9380.     in one of the subsequent updates to our software.
  9381.  
  9382.     NOTE:
  9383.          Since it's not possible to explain the whole subject of virus
  9384.          hunting in one manual, this section assumes you have enough
  9385.          experience and knowledge to create your own virus signatures.
  9386.  
  9387.     TbGenSig searches for the USERSIG.DAT file in the current directory. This
  9388.     file should contain the signatures you want to add to the TBAV signature
  9389.     file TBSCAN.SIG. TbGenSig checks the contents of the USERSIG.DAT file and
  9390.     applies it to the TBSCAN.SIG file.
  9391.  
  9392.     If you want to delete or modify your signatures, just edit or delete the
  9393.     USERSIG.DAT file and run TbGenSig again.
  9394.  
  9395.     TbGenSig lists all signatures in the TBSCAN.SIG file on screen as it
  9396.     runs.
  9397.  
  9398.  
  9399.     4.5.2 Working with TbGenSig
  9400.  
  9401.     This section describes how to use TbGenSig. It outlines how to format the
  9402.     text in the USERSIG.DAT file, add published signatures, define your own
  9403.     signatures, and other procedures.
  9404.  
  9405.  
  9406.  
  9407.  
  9408.  
  9409.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 166
  9410.  
  9411.  
  9412.  
  9413.  
  9414.     Formatting Text in USERSIG.DAT
  9415.  
  9416.     You can create and edit the USERSIG.DAT file using any DOS text editor
  9417.     (such as DOS 5+ EDIT program) that uses un-formatted (ASCII) text. All
  9418.     lines starting with a semicolon (;) are comment lines. TbGenSig ignores
  9419.     these lines. Lines starting with a percentage character (%) appear in the
  9420.     upper TbGenSig window.
  9421.  
  9422.     The first line should contain the name of a virus, the second line
  9423.     contains one or more keywords, and the third line contains the signature
  9424.     itself. We call this combination of three lines a  signature record.  A
  9425.     signature record should look like this:
  9426.  
  9427.               TEST VIRUS
  9428.               EXE COM INF
  9429.               ABCD21436587ABCD
  9430.  
  9431.     You can use spaces in the signature for your own convenience; TbGenSig
  9432.     will just ignore them.
  9433.  
  9434.  
  9435.     Adding a Published Signature
  9436.  
  9437.     As outlined above, adding an already published signature is simply a
  9438.     matter of editing or creating the USERSIG.DAT file to convert the
  9439.     signature to an acceptable format for TbGenSig.  Format the three lines
  9440.     to include the virus name, keywords, and the signature, as in the
  9441.     following:
  9442.  
  9443.               NEW VIRUS
  9444.               EXE COM BOOT INF
  9445.               1234ABCD5678EFAB
  9446.  
  9447.     After editing the file, execute TbGenSig.
  9448.  
  9449.  
  9450.     4.5.3 Defining a Signature with TbScan
  9451.  
  9452.     This section is for advanced users who have registered their copy of
  9453.     ThunderBYTE Anti-Virus.
  9454.  
  9455.     Although the TBSCAN.SIG file updates frequently, new viruses appear every
  9456.     day, outpacing the regular upgrading service of the TbScan signature
  9457.     file. It is possible for your system to become infected by a recently
  9458.     created virus not yet listed in the signature file. TbScan will not
  9459.  
  9460.  
  9461.  
  9462.  
  9463.  
  9464.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 167
  9465.  
  9466.  
  9467.  
  9468.     always detect the virus in such cases, not even with its heuristic
  9469.     analysis. If you are sure that your system has become infected without
  9470.     TbScan confirming this, this section will supply you with a valuable tool
  9471.     to detect unknown viruses. This section offers step-by-step assistance in
  9472.     creating an emergency signature that you can  (temporarily) add to your
  9473.     copy of TbScan.Sig
  9474.  
  9475.          1. Collect some infected files and copy them into a temporary
  9476.          directory.
  9477.  
  9478.          2. Boot from a clean write-protected diskette.
  9479.  
  9480.          WARNING:
  9481.               Do NOT execute ANY program from the infected system, even
  9482.               though you expect this program to be clean.
  9483.  
  9484.          3. Execute TbScan from your write-protected TbScan diskette using
  9485.          the EXTRACT option.  Make sure that the temporary directory where
  9486.          you stored the infected files is TbScan's target directory. Using
  9487.          the EXTRACT option, TbScan will NOT scan the files but, instead,
  9488.          displays the first instructions that it finds at the entry-point of
  9489.          the infected programs.
  9490.  
  9491.          NOTE:
  9492.               We recommend that you also set TbScan's LOG option to generate
  9493.               a log file.
  9494.  
  9495.  
  9496.          4. Compare the "signatures" extracted by TbScan. You should see
  9497.          something like this:
  9498.  
  9499.               NOVIRUS1.COM    2E67BCDEAB1290909 09090 ABCD123490CD
  9500.               NOVIRUS2.COM    N/A
  9501.               VIRUS1.COM      1234ABCD5678EFAB9 09090 ABCD123478FF
  9502.               VIRUS2.COM      1234ABCD5678EFAB9 01234 ABCD123478FF
  9503.               VIRUS3.COM      1234ABCD5678EFAB9 A5678 ABCD123478FF
  9504.  
  9505.          If the "signatures" of the files are completely different, the files
  9506.          are either probably not infected, or they have become infected by a
  9507.          polymorphic virus that requires an algorithmic detection module to
  9508.          detect it.
  9509.  
  9510.          5. If there are some differences in the "signatures," you can use
  9511.          the question mark wildcard (?). A signature to detect the  virus  in
  9512.          the example above could be:
  9513.  
  9514.  
  9515.  
  9516.  
  9517.  
  9518.  
  9519.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 168
  9520.  
  9521.  
  9522.  
  9523.               1234ABCD5678EFAB ?3 ABCD123478FF
  9524.  
  9525.          The "?3" means that there are three bytes at that position that
  9526.          should be skipped. Note that two digits in the signature represent a
  9527.          byte in your program.
  9528.  
  9529.          6. Add the signature to USERSIG.DAT. Give the virus a name in the
  9530.          first line of its entry, specify the COM, EXE, INF, and ATE in the
  9531.          second line, and enter the signature in the third, as in the
  9532.          following:
  9533.  
  9534.               NEW VIRUS
  9535.               EXE COM ATE INF
  9536.               1234ABCD5678EFAB?3ABCD123478FF
  9537.  
  9538.          7. Run TbGenSig. Make sure the resulting TbScan.Sig file is in the
  9539.          TBSCAN directory.
  9540.  
  9541.          8. Run TbScan again in the directory containing the infected files.
  9542.          TbScan should now detect the virus.
  9543.  
  9544.          9. Send a couple of infected files to a recommended virus expert,
  9545.          preferably to the ThunderBYTE Corporation.
  9546.  
  9547.     Congratulations! You have defined a signature all by yourself! Now you
  9548.     can scan all your machines in search of the new virus.
  9549.  
  9550.     CAUTION:
  9551.          Keep in mind that this method of extracting a signature is a
  9552.          "quick-and-dirty" solution to viral problems. The extracted
  9553.          signature might not detect the presence of the virus in all cases.
  9554.          You can make a signature guaranteed to detect all instances of the
  9555.          virus only after complete disassembly of the new virus. For these
  9556.          reasons you should NEVER distribute your home-made "signature" to
  9557.          others. In most cases, the signature eventually assembled by
  9558.          experienced anti-virus researchers may be different from your
  9559.          homemade version.
  9560.  
  9561.  
  9562.  
  9563.     4.5.4 Understanding Keywords
  9564.  
  9565.     You can use keywords for several purposes. You can separate them by
  9566.     spaces, commas, or tabs and use a maximum line length of 80 characters.
  9567.     You also should specify at least one of the following flags: BOOT, COM,
  9568.     EXE, HIGH, LOW, SYS, or WIN.
  9569.  
  9570.  
  9571.  
  9572.  
  9573.  
  9574.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 169
  9575.  
  9576.  
  9577.  
  9578.     These seven flags fall into three categories: "Item Keywords,"   "Message
  9579.     Keywords," and "Position Keywords."
  9580.  
  9581.  
  9582.     Using Item Keywords
  9583.  
  9584.     Item keywords tell the scanner where to search for viruses with those
  9585.     keywords. For example, the BOOT keyword tells the scanner that the
  9586.     accompanying virus signature can reside only in a boot sector or
  9587.     partition table. The Item keywords include the following:
  9588.  
  9589.          BOOT.     Specifies that the signature can be found in boot sectors
  9590.                    and/or partition tables.
  9591.  
  9592.          COM.      Specifies that the signature can be found in COM programs.
  9593.                    This flag instructs the scanner to search for this
  9594.                    signature in executable files that do not have an EXE
  9595.                    header or device header.
  9596.  
  9597.                    NOTE: Always keep in mind that the file content determines
  9598.                    the file type, not the filename extension!
  9599.  
  9600.          EXE.      Specifies that the signature can be found in EXE programs.
  9601.                    This flag instructs the scanner to search for this
  9602.                    signature in the load module of EXE type files. EXE files
  9603.                    are files that have an EXE header. (See the Note under the
  9604.                    COM keyword.)
  9605.  
  9606.          HIGH.     Specifies that the signature can be found in HIGH memory
  9607.                    (above program).This flag instructs the scanner to search
  9608.                    for this signature in memory above the memory allocated by
  9609.                    the scanner. This keyword is for resident viruses that
  9610.                    allocate memory at "system boot" or viruses that decrease
  9611.                    the size of the last MCB (Memory Control Block). Please
  9612.                    note that the flag HIGH does not mean that the signature
  9613.                    should be searched in UPPER memory.
  9614.  
  9615.          LOW.      Specifies that the signature can be found in LOW memory.
  9616.                    This flag instructs the scanner to search for this
  9617.                    signature in memory below the PSP (Program Segment Prefix)
  9618.                    of the scanner and in the UMBs (Upper Memory Blocks). This
  9619.                    keyword is for viruses that remain resident in memory,
  9620.                    using the normal DOS TSR (Terminate and Stay Resident)
  9621.                    function calls.
  9622.  
  9623.  
  9624.  
  9625.  
  9626.  
  9627.  
  9628.  
  9629.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 170
  9630.  
  9631.  
  9632.  
  9633.          SYS.      Specifies that the signature can be found in SYS programs,
  9634.                    such as device drivers.
  9635.  
  9636.          WIN.      Specifies that the signature can be found in Windows
  9637.                    programs.
  9638.  
  9639.  
  9640.     Message keywords
  9641.  
  9642.     Message keywords describe the type and behavior of the virus. For each
  9643.     keyword, this results in the scanner displaying a different message when
  9644.     it finds such a virus. These keywords include the following:
  9645.  
  9646.          DAM.      Message prefix:     damaged by.
  9647.          DROP.     Message prefix:     dropper of.
  9648.          FND.      Message prefix:     found the.
  9649.          INF.      Message prefix:     infected by.
  9650.                    Message suffix:     virus.
  9651.          JOKE.     Message prefix:     joke named.
  9652.          OVW.      Message prefix:     garbage: (not a virus).
  9653.          PROB.     Message pre-prefix: probably.
  9654.          TROJ.     Message prefix:     trojanized by.
  9655.  
  9656.  
  9657.     Position keywords
  9658.  
  9659.     Position keywords indicate special file areas where the virus can be
  9660.     found. If you use a position keyword, the virus must reside at the
  9661.     specific position. TbGenSig can handle three position keywords:
  9662.  
  9663.          UATE.     Specifies that the signature starts directly at the
  9664.                    unresolved entry-point of the viral code. With some
  9665.                    polymorphic viruses, it might be possible to create a
  9666.                    signature from the degarbling routine, although it might
  9667.                    be either too short or give false positives with a global
  9668.                    search. An initial branch instruction  can be part of the
  9669.                    signature. The unresolved entry-point is defined for COM-,
  9670.                    EXE-, and Windows-type files:
  9671.  
  9672.                    COM type files:     top of file (IP 0100h).
  9673.  
  9674.                    EXE type files:     CS:IP as defined in the EXE-header.
  9675.  
  9676.                    WIN type files:     Non-DOS CS:IP of the new EXE-header.
  9677.  
  9678.                    NOTE:
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 171
  9685.  
  9686.  
  9687.  
  9688.                         The UATE keyword is not allowed for BOOT, SYS, LOW,
  9689.                         HMA, or HIGH type signatures.
  9690.  
  9691.          ATE.      Specifies that the signature starts directly at the
  9692.                    entry-point of the viral code. With some polymorphic
  9693.                    viruses, it might be possible to create a signature from
  9694.                    the degarbling routine, although it might either be too
  9695.                    short or give false positives with a global search.
  9696.                    Therefore, use the ATE keyword to ensure that the scanners
  9697.                    do not scan the entire file for the signature, but only
  9698.                    look at the entry-point for the signature.
  9699.  
  9700.                    The first instruction that is not equal to either a "JUMP
  9701.                    SHORT," a "JUMP," or a "CALL NEAR" instruction defines the
  9702.                    entry point of a virus.
  9703.  
  9704.                    Let's examine the following code fragment:
  9705.  
  9706.                    Unresolved entry point:  1    JUMP SHORT 3
  9707.                                             2    ...
  9708.                                             3    JUMP 5
  9709.                                             4    ...
  9710.                                             5    CALL NEAR 7
  9711.                                             6    ...
  9712.                                             7    CALL NEAR 9
  9713.                                             8    ...
  9714.                    Resolved entry point:    9    POP <reg>
  9715.  
  9716.                    The entry-point of the above fragment is Line 9, as this
  9717.                    is the first instruction to execute that is not a "JUMP
  9718.                    SHORT," a "JUMP," or a "CALL NEAR."
  9719.  
  9720.                    NOTE: You can determine the entry-point by a code analyzer
  9721.                    to cope with tricks such as coding an NOP or DEC just
  9722.                    before the branch instruction. Therefore test the results
  9723.                    of the scanner carefully. In case of trouble, use the
  9724.                    TbScan EXTRACT option to find out what TbScan considers to
  9725.                    be the entry point of the program. Also, the ATE flag is
  9726.                    not allowed for BOOT, SYS, LOW, HMA or HIGH type
  9727.                    signatures.
  9728.  
  9729.          XHD.      Specifies that the signature can be found at offset 2 of
  9730.                    the EXE header, but is rarely used. You should use it only
  9731.                    to detect the also very rare high-level language viruses,
  9732.                    viruses written in a programming language such as C or
  9733.                    Basic. These viruses normally contain standard setup
  9734.  
  9735.  
  9736.  
  9737.  
  9738.  
  9739.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 172
  9740.  
  9741.  
  9742.  
  9743.                    routines and library routines that are not suitable to
  9744.                    defining a signature. Use this keyword as a last resort to
  9745.                    detect such viruses.
  9746.  
  9747.                    NOTE:
  9748.                         You can use this flag only for EXE or WIN type
  9749.                         signatures.
  9750.  
  9751.  
  9752.     Using Wildcards
  9753.  
  9754.     You can use wildcards characters in a virus signature to recognize so
  9755.     called  polymorphic  (self-modifying or self-mutating) virus code.
  9756.     TbGenSig distinguishes two wildcard categories: position wildcards and
  9757.     opcode wildcards (note that all numbers are in hexadecimal):
  9758.  
  9759.  
  9760.     Using Position Wildcards
  9761.  
  9762.     Position wildcard affect the position where the parts of the signature
  9763.     match.
  9764.  
  9765.          Skip fixed amount of bytes
  9766.  
  9767.               ?n    Skip n bytes and continue.(0h <= n <= Fh)
  9768.               ?@nn  Skip nn bytes and continue.(00h <= nn <= 7Fh)
  9769.  
  9770.          Skip variable amount of bytes
  9771.  
  9772.               *n    Skip up to n bytes and continue. (0h <= n <= Fh)
  9773.               *@nn  Skip up to nn bytes and continue. (00h <= nn <= 1Fh)
  9774.  
  9775.  
  9776.     Using Opcode wildcards
  9777.  
  9778.     The opcode wildcards detect instruction ranges.
  9779.  
  9780.          Low opcode
  9781.               nL    One of the interactions in the range of n0h to n7h.
  9782.  
  9783.          High opcode
  9784.  
  9785.               nH    One of the interactions in the range of n8h up to nFh.
  9786.  
  9787.     Since the opcode wildcards are rather difficult to understand, let's
  9788.     explore an example.
  9789.  
  9790.  
  9791.  
  9792.  
  9793.  
  9794.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 173
  9795.  
  9796.  
  9797.  
  9798.     Suppose a polymorphic virus puts a value in a word register (using a MOV
  9799.     WREG,VALUE instruction), increments a register (using an INC WREG
  9800.     instruction), and pops a word register from the stack (using a POP
  9801.     instruction). Both the registers and the value are variable. This means
  9802.     that the signature you are writing to detect this virus should be able to
  9803.     detect all code sequences for every value of the registers and the value,
  9804.     but this is far too much work. Now, consider that B8-BF are the opcodes
  9805.     for MOV WREG,VALUE, that 40-47 are the opcodes for INC WREG, and that
  9806.     58-5F are the opcodes for POP REG.
  9807.  
  9808.     By using the opcode wildcards, you can detect a sequence of these three
  9809.     instructions using the following signature fragment:
  9810.  
  9811.               bH4L5H
  9812.  
  9813.  
  9814.     4.5.5 Understanding a Sample Signature: Haifa.Mozkin
  9815.  
  9816.     To show the power of using the appropriate keywords and wildcards, here
  9817.     is the signature of the Haifa.Mozkin virus. This virus is highly
  9818.     polymorphic and encrypted. It contains a small variable decryptor to
  9819.     decrypt the virus.
  9820.  
  9821.     There are two problems here: most bytes are encrypted or variable, thus
  9822.     not suitable to be part of a signature, and the remainder is short and
  9823.     would cause dozens of false alarms.
  9824.  
  9825.     Using the appropriate keywords and wildcards, however, it s possible to
  9826.     define a reliable signature. TbScan actually uses the signature below to
  9827.     detect the Haifa.Mozkin virus.
  9828.  
  9829.               Haifa.Mozkin
  9830.               com exe ate inf
  9831.               bh?2bh?109?2*22e80?24l4h75fl
  9832.  
  9833.     Now let's analyze this signature. The first line describes the name of
  9834.     the virus. The second line tells the scanner to search for this signature
  9835.     in COM and EXE type files. It also tells the scanner that it should
  9836.     report the file as infected if the signature matches. The keyword ATE
  9837.     instructs the scanner to match this signature only at the resolved
  9838.     entry-point of the file. The virus starts, of course, by decrypting
  9839.     itself, so it is certain that the scanner will scan this location. The
  9840.     ATE instruction limits the scope of this signature to just one position
  9841.     in a file, so this significantly reduces the chances of false alarms.
  9842.  
  9843.     The third line is the signature definition. Let's reverse engineer it:
  9844.  
  9845.  
  9846.  
  9847.  
  9848.  
  9849.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 174
  9850.  
  9851.  
  9852.  
  9853.          bh?2      Means a byte in the B8-BF range is followed by two
  9854.                    variable bytes. B8-BF is a MOV WREG,VALUE instruction.
  9855.                    From the register we only know it is a word register; the
  9856.                    value is unknown as well.
  9857.  
  9858.          bh?109    Means another MOV WREG,VALUE instruction. The register is
  9859.                    a word register, and from the value we know that it is in
  9860.                    the range 0900 to 09FF.
  9861.  
  9862.          ?2*2      Means skip two to four bytes. The virus inserts this
  9863.                    instruction to make it harder to define a signature.
  9864.  
  9865.          2e80?2    Means that the virus performs an arithmetic byte sized
  9866.                    operation with an immediate value (decrypts one byte) with
  9867.                    a CS: segment override. The exact operation, the memory
  9868.                    location, and the value are unknown.
  9869.  
  9870.          4l        Means a byte in the 40-47 range. This is an INC WREG
  9871.                    instruction. The virus increments the counter to the next
  9872.                    byte to be decrypted.
  9873.  
  9874.          4h        Means a byte in the 48-4F range. This is a DEC WREG
  9875.                    instruction. The virus decrements the iteration count.
  9876.  
  9877.          75fl      Opcode 75 is a JNZ instruction. If the decremented
  9878.                    register did not reach zero, the virus jumps back and
  9879.                    repeats the operation. How much does it jump? That tells
  9880.                    the fl part: somewhere between -16 (F0h) to -8 (F7h)
  9881.                    bytes.
  9882.  
  9883.     NOTE:
  9884.          Although the signature language of TbGenSig is extremely powerful,
  9885.          there are viruses that are simply so highly polymorphic that they
  9886.          require even more sophisticated wildcards, keywords, or even special
  9887.          detection algorithms. The explanation of these wildcards, keywords,
  9888.          and algorithmic detection definitions, however, is beyond the scope
  9889.          of this user manual.
  9890.  
  9891.  
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 175
  9905.  
  9906.  
  9907.  
  9908.     Appendices
  9909.  
  9910.     Appendix A: TBAV messages
  9911.  
  9912.     The TBAV utilities might display various messages when run. Most messages
  9913.     are self-explanatory, but here is some additional information about
  9914.     specific messages.
  9915.  
  9916.  
  9917.     A.1 TbClean
  9918.  
  9919.     ANTI-VIR.DAT record found: information matches the currentstate of the
  9920.     file.
  9921.          The ANTI-VIR.DAT record has been found, but the information matches
  9922.          the current state of the file.
  9923.  
  9924.     The ANTI-VIR.DAT file was created after the infection. Trying
  9925.     emulation...
  9926.          The ANTI-VIR.DAT record was created after the file became infected,
  9927.          or the file is not changed at all. TbClean is going to emulate the
  9928.          file to clean it heuristically.
  9929.  
  9930.     ANTI-VIR.DAT record found: reconstructing original state...
  9931.          The ANTI-VIR.DAT record that belongs to the infected file has been
  9932.          found. The information will be used to reconstruct the file.
  9933.  
  9934.     ANTI-VIR.DAT record not found: original state unknown. Trying
  9935.     emulation...
  9936.          The ANTI-VIR.DAT file did not exist or did not contain information
  9937.          about the infected program, so the original state of the infected
  9938.          program is unknown to TbClean. TbClean switches to its heuristic
  9939.          mode to determine the state of the original file.
  9940.  
  9941.          NOTE:
  9942.               To prevent this situation, use the TbSetup program to generate
  9943.               the ANTI-VIR.DAT records. These records are of great help to
  9944.               TbClean. After infection, it's too late to generate the
  9945.               ANTI-VIR.DAT records.
  9946.  
  9947.     Emulation terminated: <Reason>
  9948.          The emulation process terminated for the reason specified. TbClean
  9949.          now consults the collected information to see if it can disinfect
  9950.          the file. The reason for termination can be one of the following:
  9951.  
  9952.  
  9953.  
  9954.  
  9955.  
  9956.  
  9957.  
  9958.  
  9959.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 176
  9960.  
  9961.  
  9962.  
  9963.               Jump to BIOS code. The virus tried to perform a call or jump
  9964.               directly into BIOS code. TBAV cannot emulate this process, so
  9965.               aborts. The infected program probably cannot be disinfected.
  9966.  
  9967.               Approached stack crash. The emulated program is approaching a
  9968.               crash. Something went wrong while emulating the program so it
  9969.               aborts. The infected program probably cannot be disinfected.
  9970.  
  9971.               Attempt to violate license agreements. TbClean will not
  9972.               disassemble this program for obvious reasons.
  9973.  
  9974.               Encountered keyboard input request. The emulated program tries
  9975.               to read the keyboard. This is very unusual for viruses, so the
  9976.               file is probably not infected at all.
  9977.               Encountered an invalid instruction. The emulator encountered an
  9978.               unknown instruction. For some reason the emulation failed. The
  9979.               infected program probably cannot be disinfected.
  9980.  
  9981.               DOS program-terminate request. The emulated program requests
  9982.               DOS to stop execution. The program is either not infected at
  9983.               all, or infected by an overwriting virus that does not pass
  9984.               control to its host program. The infected program cannot be
  9985.               disinfected.
  9986.  
  9987.               Jumped to original program entry point. The program jumped back
  9988.               to the start position. It is very likely infected, but can
  9989.               probably be disinfected.
  9990.  
  9991.               Undocumented DOS call with pointers to relocated code.  This is
  9992.               very common for viruses that add themselves in front of the COM
  9993.               type program. The program can probably be disinfected.
  9994.  
  9995.               Encountered an endless loop. TbClean encountered a situation in
  9996.               which the program is executing the same instruction sequences
  9997.               repeatedly for hundreds of thousands of times. It is unlikely
  9998.               that the program will ever escape from this loop, so the
  9999.               emulation aborts.
  10000.  
  10001.               Ctrl-break pressed. The user pressed <Ctrl>-<Break> so the
  10002.               clean attempt aborts.
  10003.  
  10004.               Emulation aborted for unknown reason. If this message appears,
  10005.               please send a copy of the file being emulated to the
  10006.               ThunderBYTE organization or one of the support BBS .
  10007.  
  10008.  
  10009.  
  10010.  
  10011.  
  10012.  
  10013.  
  10014.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 177
  10015.  
  10016.  
  10017.  
  10018.               Sorry, the collected information is not sufficient to clean
  10019.               file... The heuristic cleaning mode of TbClean aborts with
  10020.               success. The only option left is to restore the file from a
  10021.               backup or to re-install the program.
  10022.  
  10023.               Collected enough information to attempt a reliable clean
  10024.               operation... The emulation of the virus provided TbClean with
  10025.               all information needed to disinfect the file.
  10026.  
  10027.               Some DOS error occurred. TbClean aborted! Some DOS error
  10028.               occurred while trying to clean the file. Check that no files
  10029.               are read-only or located on a write protected disk, and make
  10030.               sure there is a reasonable amount of free disk space.
  10031.  
  10032.               The clean attempt seems to be successful. Test the file
  10033.               carefully!  TbClean thoroughly and reliably removed the virus
  10034.               from the file. However, take care and test the file carefully
  10035.               to see if it works as correctly.
  10036.  
  10037.               Reconstruction failed. Program might be overwritten. Trying
  10038.               emulation... TbClean tried to reconstruct the original file
  10039.               with the help of the ANTI-VIR.DAT record, but the attempt
  10040.               failed. TbClean is going to emulate the file to try to clean it
  10041.               heuristically.
  10042.  
  10043.               Reconstruction successfully completed. TbClean has
  10044.               reconstructed the file to its original state with the help of
  10045.               the information in the ANTI-VIR.DAT record. The CRC (checksum)
  10046.               of the original file and the cleaned file are completely equal,
  10047.               so it is almost certain that the cleaned file is equal to the
  10048.               original file.
  10049.  
  10050.               Starting clean attempt. Analyzing infected file... TbClean is
  10051.               analyzing the infected file and trying to locate the
  10052.               ANTI-VIR.DAT record.
  10053.  
  10054.  
  10055.     A.2 TbDriver
  10056.  
  10057.     Another version of TbDriver is already resident!
  10058.          You started a TBDRIVER.EXE with another version number or processor
  10059.          type than the TbDriver already in memory.
  10060.  
  10061.     Cannot remove TbDriver. Unload other TSRs first!
  10062.  
  10063.  
  10064.  
  10065.  
  10066.  
  10067.  
  10068.  
  10069.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 178
  10070.  
  10071.  
  10072.  
  10073.          You tried to remove TbDriver from memory, but other resident
  10074.          software was loaded after TbDriver. You can only remove resident
  10075.          programs from memory by unloading them in reverse order.
  10076.  
  10077.     LAN support was already installed.
  10078.          You tried to use the NET option a second time, or TbDriver already
  10079.          enabled network support automatically.
  10080.  
  10081.     TbDriver not active. Load TbDriver first!
  10082.          The resident TBAV utilities need TbDriver, so you need to load
  10083.          TbDriver first.
  10084.  
  10085.     TbDriver is not <version>.
  10086.          The version of TbDriver found in memory does not match the version
  10087.          number of this resident TBAV utility. Be sure you do not mix version
  10088.          numbers!
  10089.  
  10090.     This version of TbDriver requires a <typeID> processor.
  10091.          You are using a processor optimized version of TbDriver that the
  10092.          current processor cannot execute.
  10093.  
  10094.  
  10095.     A.3 TbScan
  10096.  
  10097.     Cannot create logfile.
  10098.          The specified log file path is illegal, the disk is full or write
  10099.          protected, or the file already exists and cannot be overwritten.
  10100.  
  10101.     [Cannot read datafile]
  10102.          TbScan needs access to its data file to be able to tell you the name
  10103.          of the virus. If it cannot access the data file, it displays this
  10104.          message instead of the virus.
  10105.  
  10106.     Command line error.
  10107.          You specified an invalid or illegal command line option.
  10108.  
  10109.     No matching executable files found.
  10110.          The specified path does not exist, is empty, or is not an executable
  10111.          file.
  10112.  
  10113.     Sanity check failed!
  10114.          TbScan detected that its internal checksum no longer matches. It is
  10115.          possible that TbScan is contaminated by a virus. Obtain a clean copy
  10116.          of TbScan, copy the program on a write protected system diskette,
  10117.          boot from that diskette, and try again.
  10118.  
  10119.  
  10120.  
  10121.  
  10122.  
  10123.  
  10124.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 179
  10125.  
  10126.  
  10127.  
  10128.     A.4 TbScanX
  10129.  
  10130.     Data file not found.
  10131.          TbScanX cannot locate the data file.
  10132.  
  10133.     Not enough memory.
  10134.          There is not enough free memory to process the data file. Try to
  10135.          enable swapping, or if you are already doing so, try another
  10136.          swapping mode. See also the Understanding Memory Considerations
  10137.          section in Chapter 4.
  10138.  
  10139.  
  10140.  
  10141.  
  10142.  
  10143.  
  10144.  
  10145.  
  10146.  
  10147.  
  10148.  
  10149.  
  10150.  
  10151.  
  10152.  
  10153.  
  10154.  
  10155.  
  10156.  
  10157.  
  10158.  
  10159.  
  10160.  
  10161.  
  10162.  
  10163.  
  10164.  
  10165.  
  10166.  
  10167.  
  10168.  
  10169.  
  10170.  
  10171.  
  10172.  
  10173.  
  10174.  
  10175.  
  10176.  
  10177.  
  10178.  
  10179.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 180
  10180.  
  10181.  
  10182.  
  10183.  
  10184.     Appendix B: TbScan Heuristic Flag Descriptions
  10185.  
  10186.     This appendix describes TBAV's heuristic flags.
  10187.  
  10188.     # - Decryptor code found
  10189.     The file possibly contains a self-decryption routine. Some copy-protected
  10190.     software is encrypted, so this warning might appear for some of your
  10191.     files. If, however, this warning appears in combination with, for
  10192.     example, the "T" warning, there could be a virus involved and TbScan
  10193.     assumes contamination. Many viruses encrypt themselves and trigger this
  10194.     warning.
  10195.  
  10196.     ! - Invalid program.
  10197.     Invalid opcode (non-8088 instructions) or out-of-range branch. The
  10198.     program has either an entry point that located outside the body of the
  10199.     file, or reveals a chain of  jumps  that can be traced to a location
  10200.     outside the program file. Another possibility is that the program
  10201.     contains invalid processor instructions. The program being checked is
  10202.     probably damaged and cannot execute in most cases. At any rate, TbScan
  10203.     avoids risk and uses the  scan  method to scan the file.
  10204.  
  10205.     1 - 80186+ instructions.
  10206.     The file contains instructions which cannot be executed by 8088
  10207.     processors, and require an 80186 or better processor.
  10208.  
  10209.     @ - Strange instructions
  10210.     The file contains instructions which are not likely to be generated by an
  10211.     assembler, but by some code generator like a polymorphic virus instead.
  10212.  
  10213.     ? - Inconsistent header.
  10214.     The program being processed has an EXE-header that does not reflect the
  10215.     actual program lay-out. Many viruses do not update the EXE-header of an
  10216.     EXE file correctly after they infect the file, so if this warning pops up
  10217.     frequently, it appears you have a problem.
  10218.  
  10219.     c - No integrity check
  10220.     This warning indicates that TBAV found no checksum/recovery information
  10221.     for the indicated file. We recommend you use TbSetup in this case to
  10222.     store the file's information. TBAV uses this information for integrity
  10223.     checking and to recover from virus infections.
  10224.  
  10225.     h - Hidden or System file.
  10226.     The file has the  Hidden  or the  System  file attribute set. This means
  10227.     that the file is not visible in a DOS directory display but TbScan scans
  10228.     it anyway. If you don t know the origin and/or purpose of this file, you
  10229.  
  10230.  
  10231.  
  10232.  
  10233.  
  10234.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 181
  10235.  
  10236.  
  10237.  
  10238.     might be dealing with a  Trojan Horse  or a  joke  virus program. Copy
  10239.     such a file onto a diskette, remove it from its program environment, and
  10240.     then check if the program concerned is missing the file. If a program
  10241.     does not miss it, you not only have freed some disk space, but you might
  10242.     also have prevented a future disaster.
  10243.  
  10244.     i - Internal overlay.
  10245.     The program being processed has additional data or code behind the
  10246.     load-module as specified in the EXE-header of the file. The program might
  10247.     have internal overlay(s) or configuration or debug information appended
  10248.     behind the load-module of the EXE file.
  10249.  
  10250.     p - Packed or compressed file.
  10251.     This means that the program is packed or compressed. There are some
  10252.     utilities that can compress program files, such as  EXEPACK and PKLITE.
  10253.     If the file became infected after compression, TbScan is able to detect
  10254.     the virus. However, if the file became infected before compression, the
  10255.     virus was also compressed in the process, and a virus scanner might no
  10256.     longer be able to recognize the virus. Fortunately, this does not happen
  10257.     very often, but you should still beware! A new program might look clean,
  10258.     but can turn out to be the carrier of a compressed virus. Other files in
  10259.     your system will become infected too, and it is these infections that
  10260.     will be clearly visible to virus scanners.
  10261.  
  10262.     w - Windows or OS/2 header.
  10263.     The program can be or is intended to run in a Windows (or OS/2)
  10264.     environment. TbScan offers a specialized scanning method for these files.
  10265.  
  10266.     A - Suspicious Memory Allocation
  10267.     The program uses a non-standard way to search for, and/or to allocate
  10268.     memory. Many viruses try to hide themselves in memory, so they use a
  10269.     non-standard way to allocate this memory. Some programs (such as
  10270.     high-loaders or diagnostic software) also use non-standard ways to search
  10271.     or allocate memory.
  10272.  
  10273.     B - Back to entry.
  10274.     The program seems to execute some code, and after that jumps back to the
  10275.     entry-point of the program. Normally this results in an endless loop,
  10276.     except when the program also modifies some of its instructions. This is
  10277.     quite common behavior for computer viruses. In combination with any other
  10278.     flag, TbScan reports a virus.
  10279.  
  10280.     C - File has been changed
  10281.     This warning appears only if you use TbSetup to generate the ANTI-VIR.DAT
  10282.     files and means the file has been changed. Upgrading the software would
  10283.  
  10284.  
  10285.  
  10286.  
  10287.  
  10288.  
  10289.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 182
  10290.  
  10291.  
  10292.  
  10293.     trigger this message. Otherwise, it is very likely that a virus infected
  10294.     the file!
  10295.     NOTE:
  10296.          TbScan does not display this warning if only some internal
  10297.          configuration area of the file changes. This warning means that code
  10298.          at the program entry point, the entry-point itself, and/or the file
  10299.          size has been changed.
  10300.  
  10301.     D - Direct disk access
  10302.     This flag appears if the program being processed has instructions near
  10303.     the entry-point to write to a disk directly. It is quite normal that some
  10304.     disk related utilities trigger this flag.  If several files that should
  10305.     not be  writing directly to the disk trigger this flag, your system might
  10306.     be infected by an unknown virus.
  10307.     NOTE:
  10308.          A program that accesses the disk directly does not always have the
  10309.          "D" flag. Only when the direct disk instructions are near the
  10310.          program entry point does TbScan report it. If a virus is at fault,
  10311.          the harmful instructions are always near the entry point, so it is
  10312.          only there that TbScan looks for them.
  10313.  
  10314.     E - Flexible Entry-point
  10315.     This flag indicates that the program starts with a routine that
  10316.     determines its location within the program file. This is rather
  10317.     suspicious because sound programs have a fixed entry-point so they do not
  10318.     have to determine this location. For viruses, however, this is quite
  10319.     common. Approximately 50% of the known viruses trigger this flag.
  10320.  
  10321.     F - Suspicious file access
  10322.     TbScan has found instruction sequences common to infection schemes that
  10323.     viruses use. This flag appears with those programs that are able to
  10324.     create or modify existing files.
  10325.  
  10326.     G - Garbage instructions.
  10327.     The program contains code that seems to have no purpose other than
  10328.     encryption or avoiding recognition by virus scanners. In most cases there
  10329.     won't be any other flag since the file is encrypted and the instructions
  10330.     are hidden.
  10331.     NOTE:
  10332.          This flag appears occasionally on "normal" files. This simply
  10333.          indicates, however, that these are poorly designed, not infected..
  10334.  
  10335.     J - Suspicious jump construct.
  10336.     The program did not start at the program entry point. The code has either
  10337.     jumped at least twice before reaching the final startup code, or the
  10338.     program jumped using an indirect operand. Sound programs should not
  10339.  
  10340.  
  10341.  
  10342.  
  10343.  
  10344.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 183
  10345.  
  10346.  
  10347.  
  10348.     display this kind of strange behavior. If several files trigger this
  10349.     flag, you should investigate your system thoroughly.
  10350.  
  10351.     K - Unusual stack.
  10352.     The EXE file being processed has an odd (instead of even) stack offset or
  10353.     a suspicious stack segment. Many viruses are quite  buggy  by setting up
  10354.     an illegal stack value.
  10355.  
  10356.     L - Program load trap
  10357.     The program might trap the execution of other software. If the file also
  10358.     triggers the "M" flag (memory resident code), it is very likely that the
  10359.     file is a resident program that determines when another program executes.
  10360.     Many viruses trap the program load and use it to infect the program. Some
  10361.     anti-virus utilities also trap the program load.
  10362.  
  10363.     M - Memory resident code.
  10364.     TbScan has found instruction sequences that could cause the program to
  10365.     hook into important interrupts. Many TSR (Terminate and Stay Resident)
  10366.     programs trigger this flag because hooking into interrupts is part of
  10367.     their usual behavior. If several non-TSR programs trigger this warning
  10368.     flag, however, you should be suspicious. It is likely that a virus that
  10369.     remains resident in memory infected your files.
  10370.     NOTE:
  10371.          This warning does not appear with all true TSR programs, nor can you
  10372.          always rely upon  TSR detection in non-TSR programs.
  10373.  
  10374.     N - Wrong name extension.
  10375.     Indicates a name conflict; that is, the program carries the extension
  10376.     .EXE but appears to be an ordinary .COM file, or it has the extension
  10377.     .COM but the internal layout of an .EXE file. A wrong name extension
  10378.     might in some cases indicate a virus, but in most cases it does not.
  10379.  
  10380.     O - code Overwrite.
  10381.     This flag appears if TbScan detects that the program overwrites some of
  10382.     its instructions. However, it does not seem to have a complete
  10383.     (de)cryptor routine.
  10384.  
  10385.     R - Suspicious relocator
  10386.     Indicates a suspicious relocator. A relocator is a sequence of
  10387.     instructions that changes the proportion of CS:IP. Viruses often use
  10388.     this. Those viruses have to relocate the CS:IP proportion because they
  10389.     were compiled for a specific location in the executable file; a virus
  10390.     that infects another program can hardly ever use its original location in
  10391.     the file as it is appended to this file. Sound programs  know  their
  10392.     location in the executable file, so they don t have to relocate
  10393.  
  10394.  
  10395.  
  10396.  
  10397.  
  10398.  
  10399.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 184
  10400.  
  10401.  
  10402.  
  10403.     themselves. On systems that operate normally, only a small percentage of
  10404.     the programs should trigger this flag.
  10405.  
  10406.     S - Search for executables
  10407.     The program searches for *.COM or *.EXE files. This by itself does not
  10408.     indicate a virus, but it is an ingredient of most viruses, since they
  10409.     have to search for suitable files to spread themselves. If accompanied by
  10410.     other flags, TbScan assumes the file is infected by a virus.
  10411.  
  10412.     T - Invalid timestamp.
  10413.     The timestamp of the program is invalid; that is, the number of seconds
  10414.     in the time stamp is illegal, or the date is illegal or later than the
  10415.     year 2000. This is suspicious because many viruses set the time stamp to
  10416.     an illegal value (such as 62 seconds) to mark that they already infected
  10417.     the file so they won't infect a file a second time. It is possible that
  10418.     the program being checked is contaminated with a virus that is still
  10419.     unknown, especially if several files on your system have an invalid time
  10420.     stamp. If only very few programs have an invalid time stamp, you d better
  10421.     correct it and scan frequently to check that the time stamp of the files
  10422.     remains valid.
  10423.  
  10424.     U - Undocumented system call.
  10425.     The program uses unknown DOS calls or interrupts. These unknown calls can
  10426.     be issued to invoke undocumented DOS features, or to communicate with an
  10427.     unknown driver in memory. Since many viruses use undocumented DOS
  10428.     features, or communicate with memory resident parts of a previously
  10429.     loaded instance of the virus, a program is suspicious if it performs
  10430.     unknown or undocumented communications. This does not necessarily
  10431.     indicate a virus, however, since some  tricky  programs also use
  10432.     undocumented features.
  10433.  
  10434.     V - Validated program
  10435.     The program has been validated to avoid false alarms. The design of this
  10436.     program would normally cause a false alarm by the heuristic scan mode of
  10437.     TbScan, or this program might change frequently, and TbScan excludes the
  10438.     file from integrity checking. Either TbSetup (automatically) or by TbScan
  10439.     (manually) stores these exclusions in the ANTI-VIR.DAT.
  10440.  
  10441.     Y - Invalid boot sector.
  10442.     The boot sector is not completely according to the IBM defined boot
  10443.     sector format. It is possible that the boot sector contains a virus or
  10444.     has been corrupted.
  10445.  
  10446.     Z - EXE/COM determinator.
  10447.     The program seems to check whether a file is a COM or EXE type program.
  10448.     Infecting a COM file is a process that is not similar to infecting an EXE
  10449.  
  10450.  
  10451.  
  10452.  
  10453.  
  10454.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 185
  10455.  
  10456.  
  10457.  
  10458.     file, which implies that viruses able to infect both program types should
  10459.     also be able to distinguish between them. There are, of course, innocent
  10460.     programs that need to find out whether a file is a COM or EXE file.
  10461.     Executable file compressors, EXE2COM, converters, debuggers, and
  10462.     high-loaders are examples of programs that might contain a routine to
  10463.     distinguish between EXE and COM files.
  10464.  
  10465.  
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471.  
  10472.  
  10473.  
  10474.  
  10475.  
  10476.  
  10477.  
  10478.  
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.  
  10485.  
  10486.  
  10487.  
  10488.  
  10489.  
  10490.  
  10491.  
  10492.  
  10493.  
  10494.  
  10495.  
  10496.  
  10497.  
  10498.  
  10499.  
  10500.  
  10501.  
  10502.  
  10503.  
  10504.  
  10505.  
  10506.  
  10507.  
  10508.  
  10509.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 186
  10510.  
  10511.  
  10512.  
  10513.     Appendix C: Solving Incompatibility Problems
  10514.  
  10515.     Although TBAV utilities cooperate very well with other resident software,
  10516.     other software might not behave so well. This can cause system errors or
  10517.     even more serious problems. This section describes some common problems
  10518.     and their solutions.
  10519.  
  10520.     PROBLEM:
  10521.          If a TBAV utility tries to display a message, the text  message
  10522.          "file <filename> could not be opened" appears.
  10523.  
  10524.          Specify the FULL path and filename of the file to use as a message
  10525.          file after the TbDriver loading command. The default file name is
  10526.          TBDRIVER.LNG.
  10527.  
  10528.     PROBLEM:
  10529.          One of your utilities is loading a TSR into memory without an
  10530.          executable filename extension, such as .EXE or .COM. Since TbSetup
  10531.          creates ANTI-VIR.DAT records only for files with an executable
  10532.          extension, there is no ANTI-VIR.DAT, so TbMem is not able to record
  10533.          the TSR permission information.
  10534.  
  10535.          Run TbSetup and specify the exact filename of the TSR. TbSetup
  10536.          creates an ANTI-VIR.DAT record, regardless of the filename
  10537.          extension, so TbMem can now record its information.
  10538.  
  10539.          Although the ANTI-VIR.DAT record exists, TbScan does not use it to
  10540.          check the CRC to avoid false alarms.
  10541.  
  10542.     PROBLEM:
  10543.          You are running a network, and one of the following problems arises:
  10544.  
  10545.               1. TbScanX is installed, but does not display the *scanning*
  10546.               message while accessing files. It also does not detect viruses.
  10547.  
  10548.               2. TbCheck is installed, but does not display the *checking*
  10549.               message while accessing files. It also does not detect viruses.
  10550.               3. TbFile is installed, but does not detect anything.
  10551.               4. TbMem is installed, but does not detect TSRs.
  10552.  
  10553.          Use the "TbDriver net" command after the network loads.
  10554.  
  10555.     PROBLEM:
  10556.          The system sometimes hangs when the message *scanning*  is on the
  10557.          screen.
  10558.  
  10559.  
  10560.  
  10561.  
  10562.  
  10563.  
  10564.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 187
  10565.  
  10566.  
  10567.  
  10568.          Try TbScanX without the EMS or XMS option. If TbScanX now works
  10569.          without any problems, add the EMS or XMS option again along with the
  10570.          COMPAT option. On some systems, you cannot use the TbScanX XMS
  10571.          option at all because these systems do not allow resident software
  10572.          to use extended memory.
  10573.  
  10574.          If the problem relates to the XMS option and still occurs when you
  10575.          use the COMPAT option, you can use the XMSSEG = <VALUE> option to
  10576.          change the XMS swap segment address. The value should be between
  10577.          2000 and 8000. The default value is 4000.
  10578.  
  10579.     PROBLEM:
  10580.          After you have given permission for a program to remain resident in
  10581.          memory, TbMem asks the same question the next time.
  10582.  
  10583.          First, the SECURE option of TbDriver is in use. Remove this option,
  10584.          reboot and try again.
  10585.  
  10586.          Second, the program mentioned does not appear in the ANTI-VIR.DAT
  10587.          file and, therefore, TbMem cannot permanently store the permission
  10588.          flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
  10589.          record.
  10590.  
  10591.          Third, for some reason it is not possible to write to the
  10592.          Anti-Vir.Dat file. The file might reside on a write protected
  10593.          diskette, on a network in a read-only directory, or the Anti-Vir.Dat
  10594.          file has the read-only  attribute set.
  10595.  
  10596.     PROBLEM:
  10597.          The system sometimes hangs when you answer "YES" (abort program) to
  10598.          a TbMem message.
  10599.  
  10600.          A solution here is difficult. Some resident programs seriously
  10601.          interfere with the system, and once rejected from memory, the system
  10602.          becomes unstable.
  10603.  
  10604.     PROBLEM:
  10605.          When you load TbDisk from the DOS command prompt, everything works
  10606.          fine. When you install TbDisk from within the CONFIG.SYS or
  10607.          AUTOEXEC.BAT file, however, it continually warns that programs write
  10608.          to disk directly.
  10609.  
  10610.          Load TbDisk at the end of your AUTOEXEC.BAT file.
  10611.  
  10612.     PROBLEM:
  10613.  
  10614.  
  10615.  
  10616.  
  10617.  
  10618.  
  10619.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 188
  10620.  
  10621.  
  10622.  
  10623.          You formatted the hard disk using DOS FORMAT, but TbDisk did not
  10624.          display a message until the process was almost complete.
  10625.  
  10626.          This is not a problem. A high level format program such as DOS's
  10627.          FORMAT.COM does not actually format the disk (that is, divide the
  10628.          disk into tracks and sectors), rather it reads all tracks to locate
  10629.          possible bad spots and clears the FAT and directory structure. Only
  10630.          this last step implies a disk write, so it is the only one TbDisk
  10631.          detects.
  10632.  
  10633.     PROBLEM:
  10634.          After you give permission for a program to perform direct disk
  10635.          access, TbDisk asks the same question the next time.
  10636.  
  10637.          First, the SECURE option of TbDriver is in use. Remove this option,
  10638.          reboot and try again.
  10639.  
  10640.          Second, the program mentioned does not appear in the ANTI-VIR.DAT
  10641.          file and therefore TbDisk can not permanently store the permission
  10642.          flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
  10643.          record.
  10644.  
  10645.     PROBLEM:
  10646.          If you try to use Windows fast 32-bit disk access, Windows displays
  10647.          an error message.
  10648.  
  10649.          Use the WIN32 option on the TbDisk command line.
  10650.  
  10651.  
  10652.  
  10653.  
  10654.  
  10655.  
  10656.  
  10657.  
  10658.  
  10659.  
  10660.  
  10661.  
  10662.  
  10663.  
  10664.  
  10665.  
  10666.  
  10667.  
  10668.  
  10669.  
  10670.  
  10671.  
  10672.  
  10673.  
  10674.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 189
  10675.  
  10676.  
  10677.  
  10678.     Appendix D: TBAV Exit Codes and Batch Files
  10679.  
  10680.     All TBAV utilities return to DOS with an error code that you can use with
  10681.     DOS's ERRORLEVEL command. The chief use of these error codes is in batch
  10682.     files. This appendix lists these error codes. Consult your DOS manual for
  10683.     information how to use error codes in batch files.
  10684.  
  10685.     D.1 TbScan Exit Codes
  10686.  
  10687.     TbScan terminates with one of the following exit codes:
  10688.  
  10689.          Errorlevel     Description
  10690.          ----------     -------------------------------------
  10691.               0         No viruses found/ No error occurred
  10692.               1         No files found
  10693.               2         An error occurred
  10694.               3         Files have changed
  10695.               4         Virus found using heuristic analysis
  10696.               5         Virus found using signature scanning
  10697.               255       Sanity check failed
  10698.  
  10699.  
  10700.     D.2 TbUtil Exit Codes
  10701.  
  10702.     TbUtil terminates with one of the following exit codes:
  10703.  
  10704.          Errorlevel     Description
  10705.          ----------     -------------------------------------
  10706.               0         No error occurred
  10707.               1         Option "compare" failed/An error occurred
  10708.  
  10709.  
  10710.     D.3  General Exit Codes
  10711.  
  10712.     All the TBAV utilities except TbScan and TbUtil (see above) exit with one
  10713.     of the following exit codes:
  10714.  
  10715.          Errorlevel     Description
  10716.          ----------     -------------------------------------
  10717.               0         No error occurred
  10718.               1         A error occurred
  10719.  
  10720.  
  10721.     D.4 Program Installation Check
  10722.  
  10723.  
  10724.  
  10725.  
  10726.  
  10727.  
  10728.  
  10729.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 190
  10730.  
  10731.  
  10732.  
  10733.     To detect within a batch file whether a resident TBAV utility loaded, you
  10734.     can check for the device names. All TBAV utilities install a device name,
  10735.     whether they load from CONFIG.SYS or AUTOEXEC.BAT.
  10736.  
  10737.     You can use the DOS IF EXIST batch file command to check for the device
  10738.     names. The following example, illustrating a part of a batch file, uses
  10739.     this construction to test whether TbScanX is loaded:
  10740.  
  10741.        @ECHO OFF
  10742.        IF NOT EXIST SCANX ECHO TBSCANX HAS NOT BEEN LOADED!
  10743.  
  10744.        You could also branch to a label by using the GOTO command:
  10745.  
  10746.        @ECHO OFF
  10747.        IF NOT EXIST SCANX GOTO NOSCANX
  10748.        ECHO TBSCANX EXISTS !
  10749.        GOTO END
  10750.        :NOSCANX
  10751.        ECHO TBSCANX DOES NOT EXIST !
  10752.        :END
  10753.  
  10754.     Finally, the following table lists the device names used by the TBAV
  10755.     utilities:
  10756.  
  10757.          TBAV program   Device name
  10758.          ------------   -------------------------------------
  10759.          TbScanX        SCANX
  10760.          TbCheck        TBCHKXXX
  10761.          TbMem          TBMEMXXX
  10762.          TbFile         TBFILXXX
  10763.          TbDisk         TBDSKXXX
  10764.          TbLog          TBLOGXXX
  10765.  
  10766.  
  10767.  
  10768.  
  10769.  
  10770.  
  10771.  
  10772.  
  10773.  
  10774.  
  10775.  
  10776.  
  10777.  
  10778.  
  10779.  
  10780.  
  10781.  
  10782.  
  10783.  
  10784.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.       Page 191
  10785.  
  10786.  
  10787.  
  10788.  
  10789.     Appendix E: Virus Detection and Naming
  10790.  
  10791.  
  10792.     E.1 How Many Viruses Does TbScan Detect?
  10793.  
  10794.     Most of the TbScan signatures are family signatures; that is, one
  10795.     signature detects an entire set of viruses. All these viruses relate to
  10796.     one another. The Jerusalem signature, for example, covers more than 100
  10797.     viruses. For this reason, there is no way of knowing how many viruses
  10798.     TbScan detects.
  10799.  
  10800.     Some competitive products treat each virus mutant as a separate virus,
  10801.     thus claiming to detect over 4000 viruses. TbScan, however, detects
  10802.     viruses using  only  2000 signatures. If you want to compare virus
  10803.     scanners, you have to rely on the tests frequently published in
  10804.     magazines.
  10805.  
  10806.  
  10807.     E.2 The Virus Naming Convention
  10808.  
  10809.     TbScan follows the CARO virus naming recommendations. CARO is an
  10810.     organization in which leading anti-virus researchers participate. The
  10811.     CARO approach groups viruses in a hierarchical tree, which indicates to
  10812.     which family viruses belong. TbScan shows the complete CARO name where
  10813.     possible.
  10814.  
  10815.     In contrast, however, many other anti-virus products simply indicate the
  10816.     family name or the member name. For example, many products might refer to
  10817.     the  Leprosy.Seneca.493  using the family name  Leprosy  or member name
  10818.     Seneca,  or even by the variant name  493.   Worse yet, anti-virus
  10819.     products developed by non CARO members might even use a completely
  10820.     different name.
  10821.  
  10822.     TbScan, however, tries to display as much of the name as possible.
  10823.     Building on the previous example, if TbScan can t distinguish between the
  10824.     Leprosy.Seneca.493  and  Leprosy.Seneca.517  viruses, it indicates both
  10825.     by the name  Leprosy.Seneca
  10826.  
  10827.     Some viruses mutate themselves frequently. To detect all instances of
  10828.     such a virus, it is sometimes necessary to use multiple signatures.
  10829.     Although these signatures cover exactly the same virus, they do have a
  10830.     slightly different indication. Behind the name of the virus you will see
  10831.     a number in angle brackets. This number has nothing to do with the name
  10832.     of the virus, but is there just for maintenance reasons.
  10833.  
  10834.  
  10835.  
  10836.  
  10837.  
  10838.  
  10839.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.         Page i
  10840.  
  10841.  
  10842.  
  10843.     Index
  10844.  
  10845.     Algorithms  . . . . . . . . . . . . . . . . . . . . . . 74, 153, 157, 174
  10846.     ANTI-VIR.DAT   1-4, 10, 18, 20, 22, 33-38, 41-43, 45, 46, 53, 62, 64, 75,
  10847.                  80-82, 92, 94, 95, 96, 98-103, 105, 111, 114, 120, 125, 150,
  10848.                                    156, 157, 163, 175, 177, 181, 184, 186-188
  10849.     Cleaner . . . . . . . . . . . . . . . . . . . .  1, 98, 106, 107, 161-163
  10850.     Command line options  17, 40, 62, 79, 80, 86, 87, 94, 101, 102, 110, 112,
  10851.                                                       117, 132, 141, 145, 156
  10852.     Communication . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
  10853.     Configurations  . . . . . . . . . . . . . . . . . . . . . . . . . 49, 116
  10854.     Configuring TBAV  . . . . . . . . . . . . . . . . . .  14-16, 40, 62, 100
  10855.     Direct disk access  . . . . . . . . . . . 39, 40, 124, 125, 151, 182, 188
  10856.     Environment . . . . . . . . . . . . . .  3, 5, 24, 96, 127, 140, 148, 181
  10857.     Exit codes  . . . . . . . . . . . . . . . . . . . . . . . . . . .  6, 189
  10858.     Generic cleaner . . . . . . . . . . . . . . . . . . . . . . . .  161, 163
  10859.     Help  .  15, 16, 27, 33, 34, 41, 44, 45, 62-64, 80, 86, 87, 94, 102, 108,
  10860.                                   112, 117, 122, 123, 125, 141, 145, 175, 177
  10861.     Heuristic cleaner . . . . . . . . . . . . . . . . . . . . . . . . . .  98
  10862.     Heuristic flags . . . . . .  6, 60, 61, 69, 70, 73, 74, 76, 154, 155, 180
  10863.     Heuristic scanning  . . . . . . . . . . . . . . . . . 47, 65, 76, 153-155
  10864.     Immunized partition table . . . . . . . . . . . . . . . . . . . . . . 127
  10865.     Installation  . 8, 9, 11, 12, 18, 23, 25, 27, 44, 48, 121, 122, 125, 150,
  10866.                                                                      152, 189
  10867.     Integrity checking  . . . . . . . . . . 1, 2, 18, 153, 156, 157, 180, 184
  10868.     Interface . . . . . . . . . . . . . . . . . . . . . 5, 11, 12, 16, 86, 89
  10869.     Maintenance . . . . . . . . . . . . . .  20, 120, 128, 129, 131, 133, 191
  10870.     Memory requirements . . . . . . . . . . . . . . . . . . . .  88, 147, 148
  10871.     Menu interface  . . . . . . . . . . . . . . . . . . . . . . .  11, 12, 16
  10872.     Microsoft Windows . . . . . . . . . . . . . . . . . . 5, 85, 93, 110, 140
  10873.     Procedure . . . . . . . . . . . . . . . . .  3, 8, 9, 21, 23, 26, 48, 162
  10874.     Program validation  . . . . . . . . . . . . . . . . . . . 1, 18, 153, 156
  10875.     Recovery diskette . . . . . . . . . . . .  10, 20, 23, 25-27, 29, 31, 127
  10876.     Repair cleaner  . . . . . . . . . . . . . . . . . . . . . . . . . 98, 163
  10877.     Signature definition  . . . . . . . . . . . . . . . . . . . . . . . . 173
  10878.     Signature scanning  . . . . . . . . . . . . . . . . . . . .  75, 158, 189
  10879.     System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  10880.     Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  50
  10881.     TBAV for DOS  . . . . . . . . . . . . . . . . . . . . . . 6, 84, 108, 143
  10882.     TBAV for Networks . . . . . . . . . . . . . . . . . . . .  8, 21, 143-146
  10883.     TBAV for Windows  . . . . . . . . . . . .  8, 21, 22, 50, 86, 93, 143-145
  10884.     TbCheck . . 1, 2, 5, 10, 11, 19, 26, 27, 30, 33, 34, 78, 92-97, 147, 148,
  10885.                                                                      186, 190
  10886.     TbClean
  10887.            3, 16, 17, 26, 32-34, 47, 98-107, 147, 148, 161, 163, 164, 175-177
  10888.     TbDel . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 14, 16, 32
  10889.     TbDisk  .  1, 3-5, 19, 78, 108-111, 117, 120-125, 147, 148, 187, 188, 190
  10890.  
  10891.  
  10892.  
  10893.  
  10894.  
  10895.     TBAV User Manual. Copyright (C) 1989-1996 ThunderBYTE B.V.        Page ii
  10896.  
  10897.  
  10898.  
  10899.     TbDriver  . 1, 10, 11, 19, 26, 27, 40, 78-83, 85, 92, 109, 111, 117, 121,
  10900.                                    140, 147, 148, 149, 151, 177, 178, 186-188
  10901.     TbFile   1, 3-5, 10, 11, 19, 37, 43, 78, 108-111, 116-119, 121, 147, 148,
  10902.                                                                      186, 190
  10903.     TbGenSig  . . . . . . . . .  4, 57, 65, 147, 165, 166, 168, 170, 172, 174
  10904.     TbLoad  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21, 22
  10905.     TbMem
  10906.         1, 3-5, 10, 11, 19, 78, 81, 108-114, 117, 121, 147-149, 186, 187, 190
  10907.     TbMon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  10908.     TbNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
  10909.     TbScan  1, 2, 6, 10-15, 17-22, 24, 26, 29, 30, 33, 40, 44, 46-76, 84, 91,
  10910.             106, 147, 151-160, 165-168, 171, 173, 178, 180-184, 186, 189, 191
  10911.     TBSCAN.SIG  . . . . . . . . . . . . . . . .  1, 6, 20-22, 26, 91, 165-168
  10912.     TbScanX . 1, 2, 5, 10, 11, 19, 78, 82, 84-91, 147-149, 179, 186, 187, 190
  10913.     TbSetup .  1-3, 10, 17-20, 22, 25, 27, 33-46, 92, 98, 111, 114, 120, 125,
  10914.           147, 150, 151, 152, 153, 156, 157, 163, 175, 180, 181, 184, 186-188
  10915.     TBSETUP.DAT . . . . . . . . . . . . . . . . . . . 40, 43, 45, 46, 150-153
  10916.     TbUtil  . . . . . . . . . . . . . 2, 3, 16, 26, 30, 31, 126-138, 147, 189
  10917.     Thanks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 47
  10918.     Updates . . . . . . . . . . . . . . . . . . . . . . 20, 80, 120, 165, 166
  10919.     USERSIG.DAT . . . . . . . . . . . . . . . . . . . . . . . . 165, 166, 168
  10920.     Virus detection . . . . . . . . . . . . . . . . 33, 75, 127, 130-133, 191
  10921.     Virus infection . . . . . . . . . 1, 24, 25, 29, 31, 47, 69, 92, 108, 136
  10922.     Virus naming  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
  10923.     Virus protection  . . . . . . . . . . . . . . . . . . . . . . . . . .  84
  10924.     Windows .  5, 8, 21, 22, 44, 50, 52, 54, 57, 63, 68, 73, 85, 86, 93, 105,
  10925.                               110, 122, 124, 140, 141, 143-145, 170, 181, 188
  10926.     Workstation . . . . . . . . . . . . . . . . . 11, 139, 143, 145, 146, 150
  10927.  
  10928.  
  10929.  
  10930.  
  10931.  
  10932.  
  10933.  
  10934.  
  10935.  
  10936.  
  10937.  
  10938.  
  10939.  
  10940.  
  10941.  
  10942.  
  10943.  
  10944.  
  10945.  
  10946.  
  10947.  
  10948.